From: whitestar Date: Thu, 3 May 2018 03:43:32 +0000 (+0900) Subject: adds the `concourse_start` script. X-Git-Tag: concourse-ci-0.2.8^0 X-Git-Url: http://git.osdn.net/view?p=metasearch%2Fgrid-chef-repo.git;a=commitdiff_plain;h=112691a7cc426dd182a9111a07001a38d97b066c adds the `concourse_start` script. --- diff --git a/cookbooks/concourse-ci/CHANGELOG.md b/cookbooks/concourse-ci/CHANGELOG.md index a01c7ce..134446e 100644 --- a/cookbooks/concourse-ci/CHANGELOG.md +++ b/cookbooks/concourse-ci/CHANGELOG.md @@ -1,6 +1,10 @@ concourse-ci CHANGELOG ====================== +0.2.8 +----- +- adds the `concourse_start` script. + 0.2.7 ----- - adds the `fly_prune_workers_main` script. diff --git a/cookbooks/concourse-ci/recipes/docker-compose.rb b/cookbooks/concourse-ci/recipes/docker-compose.rb index 9a9a3ac..abaa8f7 100644 --- a/cookbooks/concourse-ci/recipes/docker-compose.rb +++ b/cookbooks/concourse-ci/recipes/docker-compose.rb @@ -310,10 +310,19 @@ template "#{bin_dir}/fly_prune_workers_main" do mode '0755' action :create variables( + basic_auth_username: web_envs_org['CONCOURSE_BASIC_AUTH_USERNAME'], external_url: external_url ) end +template "#{bin_dir}/concourse_start" do + source 'opt/docker-compose/app/concourse/bin/concourse_start' + owner 'root' + group 'root' + mode '0755' + action :create +end + log <<-"EOM" Note: You must execute the following command manually. See #{doc_url} diff --git a/cookbooks/concourse-ci/templates/default/opt/docker-compose/app/concourse/bin/concourse_start b/cookbooks/concourse-ci/templates/default/opt/docker-compose/app/concourse/bin/concourse_start new file mode 100644 index 0000000..dfbef3c --- /dev/null +++ b/cookbooks/concourse-ci/templates/default/opt/docker-compose/app/concourse/bin/concourse_start @@ -0,0 +1,17 @@ +#!/bin/sh + +PATH=/usr/bin:/bin:/usr/local/bin + +if [ `whoami` != 'root' ]; then + echo 'ERROR: This script requires the root privilege.' >&2 + exit 1 +fi + +echo `date '+%Y-%m-%d %H:%M:%S %z'`' Starting Concourse ...' + +cd <%= node['concourse-ci']['docker-compose']['app_dir'] %> && \ +docker-compose down && \ +docker-compose up -d && \ +./bin/fly_prune_workers_main + +echo `date '+%Y-%m-%d %H:%M:%S %z'`' Started Concourse.' diff --git a/cookbooks/concourse-ci/templates/default/opt/docker-compose/app/concourse/bin/fly_prune_workers_main b/cookbooks/concourse-ci/templates/default/opt/docker-compose/app/concourse/bin/fly_prune_workers_main index c498436..6d0e3ab 100644 --- a/cookbooks/concourse-ci/templates/default/opt/docker-compose/app/concourse/bin/fly_prune_workers_main +++ b/cookbooks/concourse-ci/templates/default/opt/docker-compose/app/concourse/bin/fly_prune_workers_main @@ -1,13 +1,34 @@ -#!/usr/bin/env bash +#!/bin/sh PATH=.:/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:`dirname $0` +MAX_RETRY=10 +RETRY_INTERVAL=10 + +echo `date '+%Y-%m-%d %H:%M:%S %z'`' fly prune-workers ...' + if [ `whoami` != 'root' ]; then - echo 'ERROR: This script requires the root privilege.' + echo 'ERROR: This script requires the root privilege.' >&2 exit 1 fi . <%= node['concourse-ci']['docker-compose']['app_dir'] %>/.env -fly login -t main -u concourse -p $CONCOURSE_BASIC_AUTH_PASSWORD -c <%= @external_url %> +for num in `seq 0 ${MAX_RETRY}`; do + if [ $num != 0 ]; then + echo "Retrying ${num}/${MAX_RETRY}..." + fi + fly login -t main -u <%= @basic_auth_username %> -p $CONCOURSE_BASIC_AUTH_PASSWORD -c <%= @external_url %> + + if [ $? -eq 0 ]; then + break + else + if [ $num = $MAX_RETRY ]; then + echo 'ERROR: Concourse server connection refused.' >&2 + exit 1 + fi + sleep ${RETRY_INTERVAL}s + fi +done + fly_prune_workers -t main diff --git a/cookbooks/concourse-ci/version b/cookbooks/concourse-ci/version index b003284..a45be46 100644 --- a/cookbooks/concourse-ci/version +++ b/cookbooks/concourse-ci/version @@ -1 +1 @@ -0.2.7 +0.2.8