prima-twig 0.19.2 → 0.20.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/twig-feature +82 -23
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ffcc05b78f95000670afe0f5ba654ea3698003be
|
4
|
+
data.tar.gz: 3d17ffcd0e78764f3bf116c52c42af963ffafc16
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d60454ea17bab67ed7579da4180b8ce82ac4583e1cc4f1466ab3dd65aa759f5976118a542e37047ad8664d0575326902c8dad560c2e3d7802f93d2248b2436ed
|
7
|
+
data.tar.gz: 6ed10152692d50cdc07d32b4c2430e41ed2aca5821a26905bef5fe2ff2d8e7904aaea76b5acab7b8fe95efeda746b4038432bd2e4e7b2e7d4a59c10fb455dcd8
|
data/bin/twig-feature
CHANGED
@@ -44,15 +44,19 @@ class Release
|
|
44
44
|
when "deploy"
|
45
45
|
if ['terminate', 'stop', 'shutdown', 'halt', 'destroy'].include? args[1]
|
46
46
|
deploy_shutdown!
|
47
|
+
elsif "update" == args[1]
|
48
|
+
deploy_update!
|
47
49
|
else
|
48
50
|
if args[1]
|
49
|
-
|
51
|
+
select_branches(args[1])
|
52
|
+
deploy_feature!
|
50
53
|
else
|
54
|
+
select_branches
|
51
55
|
deploy_feature!
|
52
56
|
end
|
53
57
|
end
|
54
58
|
else
|
55
|
-
stop_if true, [:wrong_args, ['start', 'finish', 'deploy', 'deploy stop']]
|
59
|
+
stop_if true, [:wrong_args, ['start', 'finish', 'deploy', 'deploy stop', 'deploy update']]
|
56
60
|
end
|
57
61
|
end
|
58
62
|
|
@@ -89,13 +93,7 @@ class Release
|
|
89
93
|
|
90
94
|
def deploy_shutdown!
|
91
95
|
output "Recupero le informazioni sui QA attivi..."
|
92
|
-
envs =
|
93
|
-
stack_list.each do |stack|
|
94
|
-
unless stack.stack_name.match(/spotfleet-allinone-qa-(\w+)$/)
|
95
|
-
env_hash = stack.stack_name.match(/qa-(\w+)$/)[0]
|
96
|
-
envs[env_hash] = stack.tags unless envs.has_key?(env_hash)
|
97
|
-
end
|
98
|
-
end
|
96
|
+
stack_list, envs = get_stacks()
|
99
97
|
|
100
98
|
env_hash = nil
|
101
99
|
unless envs.empty?
|
@@ -135,12 +133,45 @@ class Release
|
|
135
133
|
output "Finito!".green
|
136
134
|
end
|
137
135
|
|
138
|
-
def
|
139
|
-
output "Deploy
|
136
|
+
def deploy_update!
|
137
|
+
output "Deploy update menu"
|
140
138
|
`sudo true` # cosi' non chiede la password dopo
|
141
139
|
`git pull && git submodule init && git submodule update`
|
142
140
|
|
143
|
-
|
141
|
+
output "Recupero le informazioni sui QA attivi..."
|
142
|
+
stack_list, envs = get_stacks()
|
143
|
+
|
144
|
+
env_hash = nil
|
145
|
+
unless envs.empty?
|
146
|
+
env_hash = choose do |menu|
|
147
|
+
menu.prompt = "Scegli il QA che vuoi aggiornare: ".cyan
|
148
|
+
menu.shell = true
|
149
|
+
envs.each do |key, env|
|
150
|
+
title = ""
|
151
|
+
env.each do |e|
|
152
|
+
title << "\n#{e.key.upcase}: #{e.value}"
|
153
|
+
end
|
154
|
+
msg = "#{@prima.reduce_size(title, 1000)}".light_blue
|
155
|
+
menu.choice(msg) { key }
|
156
|
+
end
|
157
|
+
end
|
158
|
+
else
|
159
|
+
output "Nessun QA trovato".red
|
160
|
+
exit
|
161
|
+
end
|
162
|
+
|
163
|
+
envs[env_hash].each do |env|
|
164
|
+
@projects[env.key] = select_branch_to_deploy(env.key, env.value)
|
165
|
+
end
|
166
|
+
|
167
|
+
deploy_feature!
|
168
|
+
|
169
|
+
output "Finito!".green
|
170
|
+
end
|
171
|
+
|
172
|
+
def deploy_feature!
|
173
|
+
`sudo true` # cosi' non chiede la password dopo
|
174
|
+
`git pull && git submodule init && git submodule update`
|
144
175
|
|
145
176
|
deploy_id = Digest::MD5.hexdigest(@projects["prima"][:name] + @projects["backoffice"][:name] + @projects["urania"][:name] + @projects["ermes"][:name] + @projects["bburago"][:name] + @projects["hal9000"][:name] + @projects["fidaty"][:name])
|
146
177
|
@dns_record_identifier = deploy_id
|
@@ -639,7 +670,7 @@ class Release
|
|
639
670
|
|
640
671
|
def create_urania_artifact(revision)
|
641
672
|
@urania_built = true
|
642
|
-
output "Preparo l'artifact .zip\n".yellow
|
673
|
+
output "Preparo l'artifact urania .zip\n".yellow
|
643
674
|
|
644
675
|
git_checkout_version('urania', revision)
|
645
676
|
|
@@ -673,7 +704,7 @@ class Release
|
|
673
704
|
|
674
705
|
def create_ermes_artifact(revision)
|
675
706
|
@ermes_built = true
|
676
|
-
output "Preparo l'artifact .zip\n".yellow
|
707
|
+
output "Preparo l'artifact ermes .zip\n".yellow
|
677
708
|
|
678
709
|
git_checkout_version('ermes', revision)
|
679
710
|
|
@@ -707,7 +738,7 @@ class Release
|
|
707
738
|
|
708
739
|
def create_bburago_artifact(revision)
|
709
740
|
@bburago_built = true
|
710
|
-
output "Preparo l'artifact .zip\n".yellow
|
741
|
+
output "Preparo l'artifact bburago .zip\n".yellow
|
711
742
|
|
712
743
|
git_checkout_version('bburago', revision)
|
713
744
|
|
@@ -741,7 +772,7 @@ class Release
|
|
741
772
|
|
742
773
|
def create_hal9000_artifact(revision)
|
743
774
|
@hal9000_built = true
|
744
|
-
output "Preparo l'artifact .zip\n".yellow
|
775
|
+
output "Preparo l'artifact hal9000 .zip\n".yellow
|
745
776
|
|
746
777
|
git_checkout_version('hal9000', revision)
|
747
778
|
|
@@ -778,7 +809,7 @@ class Release
|
|
778
809
|
|
779
810
|
def create_fidaty_artifact(revision, deploy_id)
|
780
811
|
@fidaty_built = true
|
781
|
-
output "Preparo l'artifact .zip\n".yellow
|
812
|
+
output "Preparo l'artifact fidaty .zip\n".yellow
|
782
813
|
|
783
814
|
git_checkout_version('fidaty', revision)
|
784
815
|
|
@@ -817,7 +848,7 @@ class Release
|
|
817
848
|
|
818
849
|
def create_backoffice_artifact(revision, deploy_id)
|
819
850
|
@backoffice_built = true
|
820
|
-
output "Preparo l'artifact .zip\n".yellow
|
851
|
+
output "Preparo l'artifact backoffice .zip\n".yellow
|
821
852
|
|
822
853
|
git_checkout_version('backoffice', revision)
|
823
854
|
|
@@ -861,7 +892,7 @@ class Release
|
|
861
892
|
|
862
893
|
def create_prima_artifact(revision, branch_name, deploy_id)
|
863
894
|
@prima_built = true
|
864
|
-
output "Preparo l'artifact .zip\n".yellow
|
895
|
+
output "Preparo l'artifact prima .zip\n".yellow
|
865
896
|
|
866
897
|
git_checkout_version('prima', revision)
|
867
898
|
|
@@ -1106,11 +1137,38 @@ class Release
|
|
1106
1137
|
{ name: name, revision: revision[0..14] }
|
1107
1138
|
end
|
1108
1139
|
|
1140
|
+
def select_branch_to_deploy(project_name, branch_name)
|
1141
|
+
Dir.chdir "projects/#{project_name}"
|
1142
|
+
output "Recupero il branch #{project_name}:#{branch_name} ..."
|
1143
|
+
out = %x[ git fetch ]
|
1144
|
+
branch_name = %x[ git for-each-ref --sort=-committerdate refs/remotes/ --format='%(refname) %(objectname)' | sed 's/refs\\/remotes\\/origin\\///g' ]
|
1145
|
+
.split("\n").delete_if { |b| !b.include?(branch_name) }[0..49]
|
1146
|
+
.first
|
1147
|
+
|
1148
|
+
Dir.chdir "../../"
|
1149
|
+
|
1150
|
+
name = branch_name.split(' ').first
|
1151
|
+
revision = branch_name.split(' ').last
|
1152
|
+
{ name: name, revision: revision[0..14] }
|
1153
|
+
end
|
1154
|
+
|
1109
1155
|
def is_branch_compatible_with_current_twig_version?
|
1110
1156
|
File.readlines("bin/local_build_artifact.sh").grep(/DEPLOY_ID=\$4/).size > 0
|
1111
1157
|
end
|
1112
1158
|
|
1159
|
+
def get_stacks()
|
1160
|
+
envs = {}
|
1161
|
+
stack_list.each do |stack|
|
1162
|
+
unless stack.stack_name.match(/spotfleet-allinone-qa-(\w+)$/)
|
1163
|
+
env_hash = stack.stack_name.match(/qa-(\w+)$/)[0]
|
1164
|
+
envs[env_hash] = stack.tags unless envs.has_key?(env_hash)
|
1165
|
+
end
|
1166
|
+
end
|
1167
|
+
return stack_list, envs
|
1168
|
+
end
|
1169
|
+
|
1113
1170
|
def select_branches(project_name = nil)
|
1171
|
+
output "Deploy feature menu"
|
1114
1172
|
if project_name.nil?
|
1115
1173
|
@projects["prima"] = choose_branch_to_deploy('prima')
|
1116
1174
|
@projects["backoffice"] = choose_branch_to_deploy('backoffice')
|
@@ -1148,10 +1206,11 @@ Synopsis
|
|
1148
1206
|
Description
|
1149
1207
|
-----------
|
1150
1208
|
|
1151
|
-
start
|
1152
|
-
finish
|
1153
|
-
deploy
|
1154
|
-
deploy stop
|
1209
|
+
start creates a new feature branch
|
1210
|
+
finish finishes the feature by merging to dev and master
|
1211
|
+
deploy deploys the feature branch to a temporary AWS Elastic Beanstalk env
|
1212
|
+
deploy stop destroys the AWS Elastic Beanstalk env
|
1213
|
+
deploy update updates a feature branch with current branches
|
1155
1214
|
|
1156
1215
|
Subcommand for Twig: <http://rondevera.github.io/twig/>
|
1157
1216
|
Author: Andrea Usuelli <https://github.com/andreausu>
|
metadata
CHANGED
@@ -1,17 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prima-twig
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.20.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matteo Giachino
|
8
8
|
- Antonio Murdaca
|
9
9
|
- Alessandro Nuzzo
|
10
10
|
- Andrea Usuelli
|
11
|
+
- Simone Quaini
|
11
12
|
autorequire:
|
12
13
|
bindir: bin
|
13
14
|
cert_chain: []
|
14
|
-
date: 2017-04-
|
15
|
+
date: 2017-04-26 00:00:00.000000000 Z
|
15
16
|
dependencies:
|
16
17
|
- !ruby/object:Gem::Dependency
|
17
18
|
name: twig
|