alpha_omega 1.3.38 → 1.3.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.3.38
1
+ 1.3.39
@@ -58,7 +58,10 @@ Capistrano::Configuration.instance(:must_exist).load do |config|
58
58
  _cset :last_pod, nil
59
59
  _cset :success, false
60
60
 
61
- _cset (:figlet) { [%x(which figlet).strip].reject {|f| !(File.executable? f)}.first || echo }
61
+ _cset (:figlet) {
62
+ fig = %x(which figlet).strip].reject {|f| !(File.executable? f)}.first
63
+ fig ? "#{fig} -w 200" : "echo"
64
+ }
62
65
 
63
66
  # =========================================================================
64
67
  # services, logs
@@ -131,7 +134,7 @@ Capistrano::Configuration.instance(:must_exist).load do |config|
131
134
  unless releases.empty?
132
135
  w = current_workarea
133
136
  workarea = releases[((releases.index(w)?releases.index(w):-1)+1)%releases.length]
134
- system "#{figlet} -w 200 on #{workarea}"
137
+ system "#{figlet} on #{workarea}"
135
138
  workarea
136
139
  else
137
140
  ""
@@ -358,7 +361,7 @@ Capistrano::Configuration.instance(:must_exist).load do |config|
358
361
  run "mv -T #{previous_path}.new #{previous_path}"
359
362
  end
360
363
 
361
- system "#{figlet} -w 200 #{current_release_name} activated"
364
+ system "#{figlet} #{current_release_name} activated"
362
365
  end
363
366
  end
364
367
 
@@ -435,12 +438,12 @@ Capistrano::Configuration.instance(:must_exist).load do |config|
435
438
  DESC
436
439
  task :revision do
437
440
  if previous_release
438
- system "#{figlet} -w 200 on #{previous_release_name}"
441
+ system "#{figlet} on #{previous_release_name}"
439
442
  run "rm -f #{previous_path} #{next_path}"
440
443
  run "ln -nfs #{previous_release} #{current_path}.new"
441
444
  run "mv -T #{current_path}.new #{current_path}"
442
445
  else
443
- system "#{figlet} -w 200 failed to rollback"
446
+ system "#{figlet} failed to rollback"
444
447
  abort "could not rollback the code because there is no prior release"
445
448
  end
446
449
  end
@@ -584,7 +587,10 @@ Capistrano::Configuration.instance(:must_exist).load do |config|
584
587
  end
585
588
 
586
589
  if want_unlock
587
- at_exit { self.unlock; }
590
+ at_exit {
591
+ self.unlock;
592
+ self.successful;
593
+ }
588
594
  end
589
595
 
590
596
  run "echo #{epoch} #{ENV['_AO_DEPLOYER']} > #{lock_path}"
@@ -620,13 +626,16 @@ Capistrano::Configuration.instance(:must_exist).load do |config|
620
626
  end
621
627
  end
622
628
 
623
- task :successful, :only => { :primary => true } do
624
- set :success, true
625
- run_locally"#{figlet} success | perl -pe 's{( +)}{chr(46) x length($1)}e'"
629
+ task :successful
630
+ if success
631
+ system "#{figlet} success"
632
+ else
633
+ system "#{figlet} failed"
634
+ end
626
635
  end
627
636
 
628
637
  task :finished do
629
- successful
638
+ set :success, true
630
639
  end
631
640
  end # :deploy
632
641
  end # Capistrano::Configuration
@@ -13,16 +13,43 @@ shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
13
13
  # load a jason bourne library
14
14
  source "$shome/libexec/_treadstone"
15
15
 
16
- function main {
17
- if [[ "$#" < 1 ]]; then
18
- logger_fatal "missing application name"
19
- exit 1
20
- fi
16
+ DEFINE_boolean "helpers" "$FLAGS_FALSE" "Generate the bin and libexec helpers" "H"
21
17
 
22
- local nm_app="$1"; shift
18
+ function main {
23
19
  local dollar='$'
24
20
 
25
- cat > "Capfile" <<EOF
21
+ if [[ "$FLAGS_helpers" = "$FLAGS_TRUE" ]]; then
22
+ mkdir -p "libexec"
23
+ cat > "libexec/aohelper" <<EOF
24
+ function ryaml {
25
+ ruby -ryaml -e 'def ps x; unless x.nil?; puts (x.class == String || x.class == Fixnum) ? x : x.to_yaml; end; end; ps ARGV[1..-1].inject(YAML.load(File.read(ARGV[0]))) {|acc, key| acc[acc.class == Array ? key.to_i : key] }' "${dollar}@" 2>&-
26
+ }
27
+
28
+ shome="${dollar}(cd -P -- "${dollar}(dirname -- "${dollar}BASH_SOURCE")/.." && pwd -P)"
29
+
30
+ app_ruby="${dollar}(ryaml ${dollar}shome/config/deploy.yml app_ruby)"
31
+ ruby_loader="${dollar}(ryaml ${dollar}shome/config/deploy.yml ruby_loader)"
32
+ PATH="${dollar}PATH:/usr/local/rvm/bin:${dollar}HOME/.rvm/bin"
33
+
34
+ if ! ${dollar}ruby_loader ${dollar}app_ruby bundle check 2>&- > /dev/null; then
35
+ ${dollar}ruby_loader ${dollar}app_ruby bundle install --local --quiet
36
+ fi
37
+ ${dollar}ruby_loader ${dollar}app_ruby bundle exec ao "${dollar}{BASH_SOURCE##*/}" "${dollar}@"
38
+ EOF
39
+ chmod 755 "libexec/aohelper"
40
+
41
+ for nm_cmd in activate check compare debug deploy dna hosts lock migrate proxy release restart rollback shell stage unlock; do
42
+ ln -nfs "../libexec/aohelper" $shome/bin/$nm_cmd
43
+ done
44
+ else
45
+ if [[ "$#" < 1 ]]; then
46
+ logger_fatal "missing application name"
47
+ exit 1
48
+ fi
49
+
50
+ local nm_app="$1"; shift
51
+
52
+ cat > "Capfile" <<EOF
26
53
  #!/usr/bin/env ruby
27
54
 
28
55
  require 'alpha_omega/deploy'
@@ -51,8 +78,8 @@ Deploy self, __FILE__ do |admin, node|
51
78
  end
52
79
  EOF
53
80
 
54
- mkdir -p "config"
55
- cat > "config/deploy.yml" <<EOF
81
+ mkdir -p "config"
82
+ cat > "config/deploy.yml" <<EOF
56
83
  ---
57
84
  repository: git@github.com:someone/something_something
58
85
  application: ${nm_app}
@@ -63,6 +90,7 @@ app_ruby: ree
63
90
  branches: [ production staging master ]
64
91
  branch_regex: /
65
92
  EOF
93
+ fi
66
94
  }
67
95
 
68
96
  require sub "$BASH_SOURCE" "$@"
@@ -0,0 +1,14 @@
1
+ function ryaml {
2
+ ruby -ryaml -e 'def ps x; unless x.nil?; puts (x.class == String || x.class == Fixnum) ? x : x.to_yaml; end; end; ps ARGV[1..-1].inject(YAML.load(File.read(ARGV[0]))) {|acc, key| acc[acc.class == Array ? key.to_i : key] }' "$@" 2>&-
3
+ }
4
+
5
+ shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
6
+
7
+ app_ruby="$(ryaml $shome/config/deploy.yml app_ruby)"
8
+ ruby_loader="$(ryaml $shome/config/deploy.yml ruby_loader)"
9
+ PATH="$PATH:/usr/local/rvm/bin:$HOME/.rvm/bin"
10
+
11
+ if ! $ruby_loader $app_ruby bundle check 2>&- > /dev/null; then
12
+ $ruby_loader $app_ruby bundle install --local --quiet
13
+ fi
14
+ $ruby_loader $app_ruby bundle exec ao "${BASH_SOURCE##*/}" "$@"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alpha_omega
3
3
  version: !ruby/object:Gem::Version
4
- hash: 87
4
+ hash: 85
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 3
9
- - 38
10
- version: 1.3.38
9
+ - 39
10
+ version: 1.3.39
11
11
  platform: ruby
12
12
  authors:
13
13
  - David Nghiem
@@ -134,6 +134,7 @@ files:
134
134
  - libexec/aoh-stage
135
135
  - libexec/aoh-task
136
136
  - libexec/aoh-unlock
137
+ - libexec/aohelper
137
138
  - libexec/build
138
139
  - libexec/build-gem
139
140
  - libexec/bump