OSDN Git Service

adds the `concourse_start` script. concourse-ci-0.2.8
authorwhitestar <whitestar@users.osdn.me>
Thu, 3 May 2018 03:43:32 +0000 (12:43 +0900)
committerwhitestar <whitestar@users.osdn.me>
Thu, 3 May 2018 03:43:32 +0000 (12:43 +0900)
cookbooks/concourse-ci/CHANGELOG.md
cookbooks/concourse-ci/recipes/docker-compose.rb
cookbooks/concourse-ci/templates/default/opt/docker-compose/app/concourse/bin/concourse_start [new file with mode: 0644]
cookbooks/concourse-ci/templates/default/opt/docker-compose/app/concourse/bin/fly_prune_workers_main
cookbooks/concourse-ci/version

index a01c7ce..134446e 100644 (file)
@@ -1,6 +1,10 @@
 concourse-ci CHANGELOG
 ======================
 
 concourse-ci CHANGELOG
 ======================
 
+0.2.8
+-----
+- adds the `concourse_start` script.
+
 0.2.7
 -----
 - adds the `fly_prune_workers_main` script.
 0.2.7
 -----
 - adds the `fly_prune_workers_main` script.
index 9a9a3ac..abaa8f7 100644 (file)
@@ -310,10 +310,19 @@ template "#{bin_dir}/fly_prune_workers_main" do
   mode '0755'
   action :create
   variables(
   mode '0755'
   action :create
   variables(
+    basic_auth_username: web_envs_org['CONCOURSE_BASIC_AUTH_USERNAME'],
     external_url: external_url
   )
 end
 
     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}
 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 (file)
index 0000000..dfbef3c
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh\r
+\r
+PATH=/usr/bin:/bin:/usr/local/bin\r
+\r
+if [ `whoami` != 'root' ]; then\r
+  echo 'ERROR: This script requires the root privilege.' >&2\r
+  exit 1\r
+fi\r
+\r
+echo `date '+%Y-%m-%d %H:%M:%S %z'`' Starting Concourse ...'\r
+\r
+cd <%= node['concourse-ci']['docker-compose']['app_dir'] %> && \\r
+docker-compose down && \\r
+docker-compose up -d && \\r
+./bin/fly_prune_workers_main\r
+\r
+echo `date '+%Y-%m-%d %H:%M:%S %z'`' Started Concourse.'\r
index c498436..6d0e3ab 100644 (file)
@@ -1,13 +1,34 @@
-#!/usr/bin/env bash
+#!/bin/sh
 
 PATH=.:/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:`dirname $0`
 
 
 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
 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
 
   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
 fly_prune_workers -t main