azdeploy 1.0.23 → 1.0.24

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/azdeploy.gemspec +1 -1
  3. data/lib/transform.rb +45 -50
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 36315dba9576c9a045abc3af9bb4c734a0a97457
4
- data.tar.gz: b0cae8d5e21af9379ca721ffc3ab88bf7e5490c0
3
+ metadata.gz: f1d3c94443746e97569ab92d434a0d096b57f812
4
+ data.tar.gz: aa32f296e32aab7255870c88d937a7a2a8fe016d
5
5
  SHA512:
6
- metadata.gz: 4cdfff50622d7ec50a8d77ca19570b23437d2113a7763728402669596ea8a876fb499daf93cdb665e6a728c73847a4513f7c62e318c93389a44b3ab1a3c7eb7a
7
- data.tar.gz: 68bbdc3ddd3e7b00af3750cd64d2e328b404a06ae885294432d85ec8152c75762f32425395ab5082b245a3f1282ada029631f029e470e5dd40df190d89700a94
6
+ metadata.gz: 01d3c8acb8b9eb34f76a9d152ced9bec42ca7997f835a99058efdb20baa8ada1386365fd8f83dea8e246aec792e0587b0a2a167d93bad90f5cd0ac2f5696ed76
7
+ data.tar.gz: 72422a1db7de52191fd89a705ea213371f0bf0d06dbc0ece486c2a055e40819976f7ce570f14d453780b0efe8f61d3150987020af5fc2e855d4803beb8e9a020
data/azdeploy.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'azdeploy'
3
- s.version = '1.0.23'
3
+ s.version = '1.0.24'
4
4
  s.date = '2015-08-07'
5
5
  s.summary = 'Setup and scripting support for .Net project builds'
6
6
  s.description = 'Azure Deployment Gem. Provides easy setup and deployment scripting support for .Net project builds'
data/lib/transform.rb CHANGED
@@ -6,11 +6,15 @@ class Transform
6
6
  attr_accessor :settings
7
7
  attr_accessor :config_files
8
8
 
9
- NO = 'no'
9
+ NO_VALUE = 'no'
10
10
  ROWKEY = 'RowKey'
11
11
  SETTING = 'setting'
12
12
  VALUE = 'value'
13
13
  APPID = 'AppId'
14
+ EMPTY_STR = ''
15
+ STORAGEACCOUNT = 'StorageAccount'
16
+ STORAGEACCOUNTKEY = "#{STORAGEACCOUNT}Key"
17
+ CONNECTIONSTRING = 'connectionString'
14
18
 
15
19
  def get(key)
16
20
  begin
@@ -41,7 +45,7 @@ class Transform
41
45
  if (@settings.nil?)
42
46
  return
43
47
  end
44
- value = ''
48
+ value = EMPTY_STR
45
49
  @settings.each { |i|
46
50
  if i.properties[ROWKEY] == key
47
51
  value = i.properties[SETTING]
@@ -52,27 +56,19 @@ class Transform
52
56
  value
53
57
  end
54
58
 
55
- def transform_appsettings(key = '', value = '')
59
+ def transform_appsettings(key = EMPTY_STR, value = EMPTY_STR)
56
60
  # go to each file and replace value of matching appSettings key
57
61
  @config_files.each{|file|
58
62
  doc = Nokogiri::XML(File.read(file))
59
63
  puts "Processing file: #{file}"
60
- if (@settings.nil?)
61
- if (key.to_s == '')
62
- k = NO
63
- else
64
- k = key
65
- end
66
- if (value.to_s == '')
67
- v = NO
68
- else
69
- v = value
70
- end
64
+ if (key.to_s != EMPTY_STR && value.to_s != EMPTY_STR)
65
+ k = key
66
+ v = value
71
67
  update_appsetting(k, v, doc, file)
72
68
  else
73
69
  @settings.each { |i|
74
- k = i.properties[ROWKEY] || NO
75
- v = i.properties[SETTING] || NO
70
+ k = i.properties[ROWKEY] || NO_VALUE
71
+ v = i.properties[SETTING] || NO_VALUE
76
72
  update_appsetting(k, v, doc, file)
77
73
  }
78
74
  end
@@ -80,7 +76,7 @@ class Transform
80
76
  end
81
77
 
82
78
  def update_appsetting(k, v, doc, file)
83
- if (k != NO && v != NO)
79
+ if (k != NO_VALUE && v != NO_VALUE)
84
80
  node = doc.at_css "appSettings/add[@key='#{k}']"
85
81
  if !node.nil?
86
82
  #puts "Old value: #{node[VALUE]}"
@@ -187,12 +183,12 @@ class Transform
187
183
  node = doc.at_css 'InstrumentationKey'
188
184
  if (!node.nil?)
189
185
  val_from_settings = get_value('AI_InstrumentationKey')
190
- if (val_from_settings.to_s == '')
191
- aikey = ENV['AI_InstrumentationKey'] || NO
186
+ if (val_from_settings.to_s == EMPTY_STR)
187
+ aikey = ENV['AI_InstrumentationKey'] || NO_VALUE
192
188
  else
193
189
  aikey = val_from_settings
194
190
  end
195
- if (aikey != NO)
191
+ if (aikey != NO_VALUE)
196
192
  node.content = aikey
197
193
  end
198
194
  end
@@ -206,11 +202,11 @@ class Transform
206
202
  csdef.each{ |file|
207
203
  doc = Nokogiri::XML(File.read(file))
208
204
 
209
- node = doc.at_css "PrivateConfig/StorageAccount"
210
- node['name'] = get_value('StorageAccount')
211
- node['key'] = get_value('StorageAccountKey')
212
- node = doc.at_css "StorageAccount"
213
- node.content = get_value('StorageAccount')
205
+ node = doc.at_css "PrivateConfig/#{STORAGEACCOUNT}"
206
+ node['name'] = get_value(STORAGEACCOUNT)
207
+ node['key'] = get_value(STORAGEACCOUNTKEY)
208
+ node = doc.at_css STORAGEACCOUNT
209
+ node.content = get_value(STORAGEACCOUNT)
214
210
 
215
211
  File.write(file, doc.to_xml)
216
212
  }
@@ -233,8 +229,8 @@ class Transform
233
229
  def transform
234
230
 
235
231
  # --- Get environment invoked
236
- @env = ENV['env'] || NO
237
- if @env == NO
232
+ @env = ENV['env'] || NO_VALUE
233
+ if @env == NO_VALUE
238
234
  puts 'Environment name required to transform. No configuration changes will be done...'
239
235
  return false
240
236
  else
@@ -242,18 +238,18 @@ class Transform
242
238
  end
243
239
 
244
240
  # --- Get Settings Account Name, Key and Table from Environment variables
245
- settings_account_name = ENV['SettingsAccount'] || ENV['StorageAccount'] || NO
246
- if (settings_account_name == NO)
241
+ settings_account_name = ENV['SettingsAccount'] || ENV[STORAGEACCOUNT] || NO_VALUE
242
+ if (settings_account_name == NO_VALUE)
247
243
  puts "No settings storage account name found"
248
244
  return false
249
245
  end
250
- settings_access_key = ENV['SettingsAccountKey'] || ENV['StorageAccountKey'] || NO
251
- if (settings_access_key == NO)
246
+ settings_access_key = ENV['SettingsAccountKey'] || ENV[STORAGEACCOUNTKEY] || NO_VALUE
247
+ if (settings_access_key == NO_VALUE)
252
248
  puts "No settings storage account key found"
253
249
  return false
254
250
  end
255
- config_table = ENV['ConfigSettingsTable'] || NO
256
- if (config_table == NO)
251
+ config_table = ENV['ConfigSettingsTable'] || NO_VALUE
252
+ if (config_table == NO_VALUE)
257
253
  puts "No configuration table found"
258
254
  end
259
255
 
@@ -262,6 +258,8 @@ class Transform
262
258
  @config_files = Dir.glob('**/app.config')
263
259
  @config_files.concat(Dir.glob('**/appSettings.config'))
264
260
  @config_files.concat(Dir.glob('**/web.config'))
261
+ @config_files.concat(Dir.glob('**/RuntimeWeb/*Web.dll.config'))
262
+ @config_files.concat(Dir.glob('**/RuntimeService/*.exe.config'))
265
263
 
266
264
  # --- Load Settings from storage
267
265
  # azure table storage account where settings reside
@@ -276,34 +274,34 @@ class Transform
276
274
  @settings = get_all
277
275
 
278
276
  # --- Start Transformations ---
279
- puts 'updating settings connection string...'
277
+ puts "updating settings #{CONNECTIONSTRING}..."
280
278
  settings_connstr = "DefaultEndpointsProtocol=https;AccountName=#{settings_account_name};AccountKey=#{settings_access_key}"
281
- should_update_settings_connstr = ENV['should_update_settings_connstr'] || NO
282
- if should_update_settings_connstr == NO
283
- puts 'Flag for Setttings Connection String Update not set.'
279
+ should_update_settings_connstr = ENV['should_update_settings_connstr'] || NO_VALUE
280
+ if should_update_settings_connstr == NO_VALUE
281
+ puts "Flag for Setttings #{CONNECTIONSTRING} Update not set."
284
282
  else
285
- transform_appsettings('connectionString', settings_connstr)
283
+ transform_appsettings(CONNECTIONSTRING, settings_connstr)
286
284
  end
287
285
 
288
- puts 'updating unit test connection string...'
289
- unitest_connstr = ENV['unitestconnectionString'] || NO
290
- if unitest_connstr == NO
291
- puts 'No unit test connection string found.'
286
+ puts "updating unit test #{CONNECTIONSTRING}..."
287
+ unitest_connstr = ENV["unitest#{CONNECTIONSTRING}"] || NO_VALUE
288
+ if unitest_connstr == NO_VALUE
289
+ puts "No unit test #{CONNECTIONSTRING} found."
292
290
  else
293
- transform_appsettings('unitestconnectionString', unitest_connstr)
291
+ transform_appsettings("unitest#{CONNECTIONSTRING}", unitest_connstr)
294
292
  end
295
293
 
296
294
  puts "updating #{APPID}..."
297
- appId = ENV[APPID] || NO
298
- if appId == NO
295
+ appId = ENV[APPID] || NO_VALUE
296
+ if appId == NO_VALUE
299
297
  puts "No #{APPID} found."
300
298
  else
301
299
  transform_appsettings(APPID, appId)
302
300
  end
303
301
 
304
302
  @service_name = ENV['ServiceName']
305
- is_service = @service_name || NO
306
- if is_service != NO
303
+ is_service = @service_name || NO_VALUE
304
+ if is_service != NO_VALUE
307
305
  puts "Transforming config for service: #{@service_name}"
308
306
 
309
307
  puts 'Obtaining cloud configuration templates...'
@@ -312,9 +310,6 @@ class Transform
312
310
  cscfgTemplate = get_value('ServiceConfigurationTemplate')
313
311
  File.write('ServiceConfiguration.cscfg', cscfgTemplate)
314
312
 
315
- @config_files.concat(Dir.glob('**/RuntimeWeb/*Web.dll.config'))
316
- @config_files.concat(Dir.glob('**/RuntimeService/*.exe.config'))
317
-
318
313
  puts 'Transforming csdef...'
319
314
  transform_csdef
320
315
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: azdeploy
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.23
4
+ version: 1.0.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - Suresh Batta