updated ebuild and added init file
This commit is contained in:
		
							parent
							
								
									48ea5c2073
								
							
						
					
					
						commit
						002fc0acfd
					
				
					 3 changed files with 86 additions and 26 deletions
				
			
		|  | @ -1,2 +1,3 @@ | ||||||
|  | AUX rcscript-gitlab-ci-unicorn.init 1684 SHA256 13887832ca41bf45037918824c7ead731ac812eaeba7fcf2149b981f5649ec9a SHA512 8842684dae88331353fdd09554c7404a470238a0e66597a01b4b9dd875db7b5580b082fb4e230fd85e8fd66c276e789473e88c61584845c2b236c00ba79ea9ac WHIRLPOOL 745d07b9eb116dc5742981b3e0b0b36371bdd2e1629bb988643f806b0ace8927d3f16ead0536285272b4508c4961e8dd1583037871782958283aaaf6d1992fb0 | ||||||
| DIST gitlab-ci-5.0.1.tar.gz 610139 SHA256 5ed7d6de964a05641e14ae6a7bd63e6f32fec345d8f2ea42e6882c67c2228bc1 SHA512 a10f4341001f12f9796594ba2bf1008cbead8ab3f5d98f9de2b56a3f2fc84322841b5bb3cbd596e46bba3ce0285e438ca7597c9f57b84d6231742f8aa64df736 WHIRLPOOL 7b62af01e1202542a3a3c5d947444ebbcee986d2c0c87ebf4191ef2c6e283d261cba675eb405343febd2cdabf028096dc62d7ab0eafa500d05d2033faeadf102 | DIST gitlab-ci-5.0.1.tar.gz 610139 SHA256 5ed7d6de964a05641e14ae6a7bd63e6f32fec345d8f2ea42e6882c67c2228bc1 SHA512 a10f4341001f12f9796594ba2bf1008cbead8ab3f5d98f9de2b56a3f2fc84322841b5bb3cbd596e46bba3ce0285e438ca7597c9f57b84d6231742f8aa64df736 WHIRLPOOL 7b62af01e1202542a3a3c5d947444ebbcee986d2c0c87ebf4191ef2c6e283d261cba675eb405343febd2cdabf028096dc62d7ab0eafa500d05d2033faeadf102 | ||||||
| EBUILD gitlab-ci-5.0.1.ebuild 8745 SHA256 af5493be5fb752db94bb7ef8444f974ae138639111b37b9d9aa9dc352871f833 SHA512 d41ca7c04a11ad32819924f0ce8290011056f164ee899de2c1da29f7999e8bb2ceab5924df974fadf6cc57762930b21da6a02391c4d35b5513218d1fbfce47d6 WHIRLPOOL 8eab84fdf811edd79ad97dd3a62f68667fa1b18349e5af964902ed16b2e15165bd03af54d22a1ea6490f2f268b1aaceaeb50dba5ddc6b6525b97074ae8720c10 | EBUILD gitlab-ci-5.0.1.ebuild 8381 SHA256 2813bfcc373a7aaf52e78612bd922ddc39b52094de253a15f07af5384667713d SHA512 1ed0a1798ccb76d4f3d40cae7b133947652b50602de542de07b92a091e4cc6535590d6165b83efc5add4392f89ad2dd20268cbc7f4f9c40068469d39f506cc61 WHIRLPOOL 7ae43ff7213d76cc95903980a43300cbe8f6d1049013dfe7419951a4564af5c718d91627091dafa11433ad8fc5240053ef9866df5f85af2391f31d190adb44db | ||||||
|  |  | ||||||
							
								
								
									
										67
									
								
								www-apps/gitlab-ci/files/rcscript-gitlab-ci-unicorn.init
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										67
									
								
								www-apps/gitlab-ci/files/rcscript-gitlab-ci-unicorn.init
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,67 @@ | ||||||
|  | #!/sbin/runscript | ||||||
|  | 
 | ||||||
|  | name="GitLab CI" | ||||||
|  | description="GitLab CI on Unicorns" | ||||||
|  | 
 | ||||||
|  | : ${gitlab_ci_user:=@USER@} | ||||||
|  | : ${gitlab_ci_base:="@GITLAB_CI_BASE@"} | ||||||
|  | : ${rails_env:=production} | ||||||
|  | 
 | ||||||
|  | : ${server_pidfile:="@RUN_DIR@/unicorn.pid"} | ||||||
|  | 
 | ||||||
|  | : ${sidekiq_pidfile:="@RUN_DIR@/sidekiq.pid"} | ||||||
|  | : ${sidekiq_logfile:="@LOGS_DIR@/sidekiq.log"} | ||||||
|  | : ${sidekiq_queues:="@QUEUES@"} | ||||||
|  | 
 | ||||||
|  | server_command="/usr/bin/bundle" | ||||||
|  | server_command_args="exec unicorn_rails -c ${gitlab_ci_base}/config/unicorn.rb -E ${rails_env} -D" | ||||||
|  | 
 | ||||||
|  | sidekiq_command="/usr/bin/bundle" | ||||||
|  | sidekiq_command_args="exec sidekiq -q ${sidekiq_queues} -P ${sidekiq_pidfile} -L ${sidekiq_logfile}" | ||||||
|  | 
 | ||||||
|  | depend() { | ||||||
|  | 	provide gitlab-ci | ||||||
|  | 	need redis | ||||||
|  | 	use net | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | start() { | ||||||
|  | 	ebegin "Starting ${name} - Unicorn servers" | ||||||
|  | 
 | ||||||
|  | 	checkpath -d -o ${gitlab_ci_user} -m755 "$(dirname "${server_pidfile}")" | ||||||
|  | 	checkpath -d -o ${gitlab_ci_user} -m755 "$(dirname "${sidekiq_pidfile}")" | ||||||
|  | 
 | ||||||
|  | 	start-stop-daemon --start \ | ||||||
|  | 		--chdir "${gitlab_ci_base}" \ | ||||||
|  | 		--user=${gitlab_ci_user} \ | ||||||
|  | 		--pidfile="${server_pidfile}" \ | ||||||
|  | 		--env RAILS_ENV=${rails_env} \ | ||||||
|  | 		--exec ${server_command} -- ${server_command_args} | ||||||
|  | 	eend $? | ||||||
|  | 
 | ||||||
|  | 	ebegin "Starting ${name} - Sidekiq" | ||||||
|  | 
 | ||||||
|  | 	start-stop-daemon --start \ | ||||||
|  | 		--background --quiet \ | ||||||
|  | 		--chdir "${gitlab_ci_base}" \ | ||||||
|  | 		--user=${gitlab_ci_user} \ | ||||||
|  | 		--pidfile="${sidekiq_pidfile}" \ | ||||||
|  | 		--env RAILS_ENV=${rails_env} \ | ||||||
|  | 		--exec ${sidekiq_command} -- ${sidekiq_command_args} | ||||||
|  | 	eend $? | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | stop() { | ||||||
|  | 	ebegin "Stopping ${name} - Sidekiq" | ||||||
|  | 	start-stop-daemon --stop \ | ||||||
|  | 		--pidfile=${sidekiq_pidfile} \ | ||||||
|  | 		--exec ${sidekiq_command} | ||||||
|  | 	eend $? | ||||||
|  | 
 | ||||||
|  | 	ebegin "Stopping ${name} - Unicorn servers" | ||||||
|  | 	start-stop-daemon --stop \ | ||||||
|  | 		--signal QUIT \ | ||||||
|  | 		--pidfile=${server_pidfile} \ | ||||||
|  | 		--exec ${server_command} | ||||||
|  | 	eend $? | ||||||
|  | } | ||||||
|  | @ -25,7 +25,7 @@ RESTRICT="mirror" | ||||||
| LICENSE="MIT" | LICENSE="MIT" | ||||||
| SLOT="0" | SLOT="0" | ||||||
| KEYWORDS="~amd64 ~x86" | KEYWORDS="~amd64 ~x86" | ||||||
| IUSE="mysql +postgres +unicorn" | IUSE="mysql +postgres" | ||||||
| 
 | 
 | ||||||
| ## Gems dependencies: | ## Gems dependencies: | ||||||
| #   charlock_holmes		dev-libs/icu | #   charlock_holmes		dev-libs/icu | ||||||
|  | @ -60,6 +60,7 @@ DEST_DIR="/opt/${MY_NAME}" | ||||||
| CONF_DIR="/etc/${MY_NAME}" | CONF_DIR="/etc/${MY_NAME}" | ||||||
| LOGS_DIR="/var/log/${MY_NAME}" | LOGS_DIR="/var/log/${MY_NAME}" | ||||||
| TEMP_DIR="/var/tmp/${MY_NAME}" | TEMP_DIR="/var/tmp/${MY_NAME}" | ||||||
|  | RUN_DIR="/run/${MY_NAME}" | ||||||
| 
 | 
 | ||||||
| # When updating ebuild to newer version, check list of the queues in | # When updating ebuild to newer version, check list of the queues in | ||||||
| # https://gitlab.com/gitlab-org/gitlab-ci/blob/v${PV}/script/background_jobs | # https://gitlab.com/gitlab-org/gitlab-ci/blob/v${PV}/script/background_jobs | ||||||
|  | @ -76,15 +77,14 @@ all_ruby_prepare() { | ||||||
| 	sed -i -E \ | 	sed -i -E \ | ||||||
| 		-e "s|redis://redis.example.com:6379|unix:/run/redis/redis.sock|" \ | 		-e "s|redis://redis.example.com:6379|unix:/run/redis/redis.sock|" \ | ||||||
| 		config/resque.yml.example || die "failed to filter resque.yml.example" | 		config/resque.yml.example || die "failed to filter resque.yml.example" | ||||||
| 	local run_path=/run/${MY_NAME} |  | ||||||
| 	sed -i -E \ | 	sed -i -E \ | ||||||
| 		-e "s|/home/gitlab_ci/gitlab-ci/tmp/(pids\|sockets)|${run_path}|" \ | 		-e "s|/home/gitlab_ci/gitlab-ci/tmp/(pids\|sockets)|${RUN_DIR}|" \ | ||||||
| 		-e "s|/home/gitlab_ci/gitlab-ci/log|${LOGS_DIR}|" \ | 		-e "s|/home/gitlab_ci/gitlab-ci/log|${LOGS_DIR}|" \ | ||||||
| 		-e "s|/home/gitlab_ci/gitlab-ci|${DEST_DIR}|" \ | 		-e "s|/home/gitlab_ci/gitlab-ci|${DEST_DIR}|" \ | ||||||
| 		config/unicorn.rb.example || die "failed to filter unicorn.rb.example" | 		config/unicorn.rb.example || die "failed to filter unicorn.rb.example" | ||||||
| 	 | 	 | ||||||
| 	sed -i \ | 	sed -i \ | ||||||
| 		-e "s|/home/gitlab_ci/gitlab-ci/tmp/sockets|${run_path}|" \ | 		-e "s|/home/gitlab_ci/gitlab-ci/tmp/sockets|${RUN_DIR}|" \ | ||||||
| 		-e "s|/home/gitlab_ci/gitlab-ci/public|${DEST_DIR}/public|" \ | 		-e "s|/home/gitlab_ci/gitlab-ci/public|${DEST_DIR}/public|" \ | ||||||
| 		lib/support/nginx/gitlab_ci || die "failed to filter nginx/gitlab_ci" | 		lib/support/nginx/gitlab_ci || die "failed to filter nginx/gitlab_ci" | ||||||
| 	 | 	 | ||||||
|  | @ -115,7 +115,6 @@ all_ruby_prepare() { | ||||||
| 	 | 	 | ||||||
| 	# remove useless files | 	# remove useless files | ||||||
| 	rm -r lib/support/init.d | 	rm -r lib/support/init.d | ||||||
| 	use unicorn || rm config/unicorn.rb |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| all_ruby_install() { | all_ruby_install() { | ||||||
|  | @ -123,6 +122,7 @@ all_ruby_install() { | ||||||
| 	local conf=${CONF_DIR} | 	local conf=${CONF_DIR} | ||||||
| 	local logs=${LOGS_DIR} | 	local logs=${LOGS_DIR} | ||||||
| 	local temp=${TEMP_DIR} | 	local temp=${TEMP_DIR} | ||||||
|  | 	local runs=${RUN_DIR} | ||||||
| 
 | 
 | ||||||
| 	# prepare directories | 	# prepare directories | ||||||
| 	diropts -m750 | 	diropts -m750 | ||||||
|  | @ -164,7 +164,7 @@ all_ruby_install() { | ||||||
| 	cd "${D}/${dest}" | 	cd "${D}/${dest}" | ||||||
| 
 | 
 | ||||||
| 	local without="development test aws" | 	local without="development test aws" | ||||||
| 	local flag; for flag in mysql postgres unicorn; do | 	local flag; for flag in mysql postgres; do | ||||||
| 		without+="$(use $flag || echo ' '$flag)" | 		without+="$(use $flag || echo ' '$flag)" | ||||||
| 	done | 	done | ||||||
| 	local bundle_args="--deployment ${without:+--without ${without}}" | 	local bundle_args="--deployment ${without:+--without ${without}}" | ||||||
|  | @ -180,15 +180,14 @@ all_ruby_install() { | ||||||
| 
 | 
 | ||||||
| 	## RC script ## | 	## RC script ## | ||||||
| 
 | 
 | ||||||
| 	local rcscript=gitlab-ci-sidekiq.init | 	local rcscript=gitlab-ci-unicorn.init | ||||||
| 	use unicorn && rcscript=gitlab-ci-unicorn.init |  | ||||||
| 
 | 
 | ||||||
| 	cp "${FILESDIR}/${rcscript}" "${T}" || die | 	cp "${FILESDIR}/${rcscript}" "${T}" || die | ||||||
| 	sed -i \ | 	sed -i \ | ||||||
| 		-e "s|@USER@|${MY_USER}|" \ | 		-e "s|@USER@|${MY_USER}|" \ | ||||||
| 		-e "s|@SLOT@|${SLOT}|" \ | 		-e "s|@GITLAB_CI_BASE@|${dest}|" \ | ||||||
| 		-e "s|@GITLAB_BASE@|${dest}|" \ |  | ||||||
| 		-e "s|@LOGS_DIR@|${logs}|" \ | 		-e "s|@LOGS_DIR@|${logs}|" \ | ||||||
|  | 		-e "s|@RUN_DIR@|${runs}|" \ | ||||||
| 		-e "s|@QUEUES@|${SIDEKIQ_QUEUES}|" \ | 		-e "s|@QUEUES@|${SIDEKIQ_QUEUES}|" \ | ||||||
| 		"${T}/${rcscript}" \ | 		"${T}/${rcscript}" \ | ||||||
| 		|| die "failed to filter ${rcscript}" | 		|| die "failed to filter ${rcscript}" | ||||||
|  | @ -198,20 +197,20 @@ all_ruby_install() { | ||||||
| 
 | 
 | ||||||
| pkg_postinst() { | pkg_postinst() { | ||||||
| 	elog | 	elog | ||||||
| 	elog "1. Configure your GitLab's settings in ${CONF_DIR}/gitlab.yml." | 	elog "1. Configure your GitLab CI's settings in ${CONF_DIR}/application.yml." | ||||||
| 	elog | 	elog | ||||||
| 	elog "2. Configure your database settings in ${CONF_DIR}/database.yml" | 	elog "2. Configure your database settings in ${CONF_DIR}/database.yml" | ||||||
| 	elog "   for \"production\" environment." | 	elog "   for \"production\" environment." | ||||||
| 	elog | 	elog | ||||||
| 	elog "3. Then you should create a database for your GitLab instance, if you" | 	elog "3. Then you should create a database for your GitLab CI instance, if you" | ||||||
| 	elog "haven't done so already." | 	elog "haven't done so already." | ||||||
| 	elog | 	elog | ||||||
| 	if use postgres; then | 	if use postgres; then | ||||||
|         elog "If you have local PostgreSQL running, just copy&run:" |         elog "If you have local PostgreSQL running, just copy&run:" | ||||||
|         elog "      su postgres" |         elog "      su postgres" | ||||||
|         elog "      psql -c \"CREATE ROLE gitlab PASSWORD 'gitlab' \\" |         elog "      psql -c \"CREATE ROLE gitlab_ci PASSWORD 'gitlab_ci' \\" | ||||||
|         elog "          NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;\"" |         elog "          NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;\"" | ||||||
|         elog "      createdb -E UTF-8 -O gitlab gitlabhq_production" |         elog "      createdb -E UTF-8 -O gitlab_ci gitlab_ci_production" | ||||||
| 		elog "  Note: You should change your password to something more random..." | 		elog "  Note: You should change your password to something more random..." | ||||||
| 		elog | 		elog | ||||||
| 	fi | 	fi | ||||||
|  | @ -221,16 +220,9 @@ pkg_postinst() { | ||||||
| 	elog | 	elog | ||||||
| 	elog "If this is an update from previous version, it's HIGHLY recommended" | 	elog "If this is an update from previous version, it's HIGHLY recommended" | ||||||
| 	elog "to backup your database before running the config phase!" | 	elog "to backup your database before running the config phase!" | ||||||
| 	elog |  | ||||||
| 	elog "If you're running GitLab behind an SSL proxy such as nginx or Apache and" |  | ||||||
| 	elog "you can't login after the upgrade, be sure to read the section about the" |  | ||||||
| 	elog "verification of the CSRF token in GitLab's trouble-shooting guide at" |  | ||||||
| 	elog "http://goo.gl/5XGRGv." |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| pkg_config() { | pkg_config() { | ||||||
| #	local shell_conf='/etc/gitlab-shell.yml' |  | ||||||
| 
 |  | ||||||
| 	einfo "Checking configuration files" | 	einfo "Checking configuration files" | ||||||
| 
 | 
 | ||||||
| 	if [ ! -r "${CONF_DIR}/database.yml" ]; then | 	if [ ! -r "${CONF_DIR}/database.yml" ]; then | ||||||
|  | @ -240,15 +232,15 @@ pkg_config() { | ||||||
| 	fi | 	fi | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 	local email_from="$(ryaml ${CONF_DIR}/application.yml production gitlab_CI email_from)" | 	local email_from="$(ryaml ${CONF_DIR}/application.yml production gitlab_ci email_from)" | ||||||
| 	local git_home="$(egethome ${MY_USER})" | 	local gitlab_ci_home="$(egethome ${MY_USER})" | ||||||
| 	 | 	 | ||||||
| 	# configure Git global settings | 	# configure Git global settings | ||||||
| #	if [ ! -e "${git_home}/.gitconfig" ]; then | #	if [ ! -e "${gitlab_ci_home}/.gitconfig" ]; then | ||||||
| #		einfo "Setting git user" | #		einfo "Setting git user" | ||||||
| #		su -l ${MY_USER} -c " | #		su -l ${MY_USER} -c " | ||||||
| #			git config --global user.email '${email_from}'; | #			git config --global user.email '${email_from}'; | ||||||
| #			git config --global user.name 'GitLab'" \ | #			git config --global user.name 'GitLab CI'" \ | ||||||
| #			|| die "failed to setup git name and email" | #			|| die "failed to setup git name and email" | ||||||
| #	fi | #	fi | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue