bozo-scripts 0.10.2 → 0.10.3

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
- 0.10.2
1
+ 0.10.3
@@ -0,0 +1,63 @@
1
+ module Bozo::Hooks
2
+
3
+ # Hook to create a release in Octopus.
4
+ class OctopusCreateRelease
5
+
6
+ def initialize
7
+ @deploy_to = nil
8
+ @display_progress = false
9
+ end
10
+
11
+ # Specify the name of the Octopus Deploy project to create a release for.
12
+ def project(value)
13
+ @octopus_project = value
14
+ end
15
+
16
+ # The server address of Octopus.
17
+ def server(value)
18
+ @octopus_server = value
19
+ end
20
+
21
+ # The api key to authorise to Octopus with.
22
+ def api_key(value)
23
+ @octopus_api_key = value
24
+ end
25
+
26
+ # Specify the environment in Octopus to deploy to.
27
+ def deploy_to(value)
28
+ @deploy_to = value
29
+ end
30
+
31
+ # Write the deployment log from Octopus. If false
32
+ # then the hook does not wait for the release to complete.
33
+ def display_progress(value)
34
+ @display_progress = value
35
+ end
36
+
37
+ def post_publish
38
+ return unless build_server?
39
+ log_info "Creating release in Octopus for #{env['BUILD_VERSION_FULL']}"
40
+
41
+ args = []
42
+ args << 'create-release'
43
+ args << "--project \"#{@octopus_project}\""
44
+ args << "--version #{env['BUILD_VERSION_FULL']}"
45
+ args << "--package #{env['BUILD_VERSION_FULL']}"
46
+ args << "--server #{@octopus_server}"
47
+ args << "--apiKey #{@octopus_api_key}"
48
+ args << "--releaseNotes \"[Build #{env['BUILD_VERSION_FULL']}](#{env['BUILD_URL']})\""
49
+
50
+ if @display_progress
51
+ args << '--progress'
52
+ end
53
+
54
+ if @deploy_to
55
+ args << "--deployto=#{@deploy_to}"
56
+ end
57
+
58
+ execute_command :octo, args
59
+ end
60
+
61
+ end
62
+
63
+ end
@@ -0,0 +1,47 @@
1
+ require 'open-uri'
2
+ require 'zip/zipfilesystem'
3
+
4
+ module Bozo::Tools
5
+ class OctopusTools
6
+
7
+ # Creates a new instance.
8
+ def initialize
9
+ @url = 'https://download.octopusdeploy.com/octopus-tools/3.3.2/OctopusTools.3.3.2.zip'
10
+ end
11
+
12
+ # Sets the source url for the Octopus Tools to be retrieved from
13
+ #
14
+ # @param [String] url
15
+ # A web server hosting the Octopus Tools
16
+ def source(url)
17
+ @url = url
18
+ end
19
+
20
+ # Retrieves the Octopus tools exe from the path
21
+ def retrieve(destination_path)
22
+ zip_file_path = download_path('OctopusTools.3.3.2.zip')
23
+
24
+ open(zip_file_path, 'wb') do |file|
25
+ file << open(@url).read
26
+ end
27
+
28
+ extract_zip(zip_file_path, destination_path)
29
+ end
30
+
31
+ private
32
+ def extract_zip(source, destination_path)
33
+ Zip::ZipFile.open(source) do |zip_file|
34
+ zip_file.each { |f|
35
+ f_path = File.join(destination_path, f.name)
36
+ FileUtils.mkdir_p(File.dirname(f_path))
37
+ zip_file.extract(f, f_path) unless File.exist?(f_path)
38
+ }
39
+ end
40
+ end
41
+
42
+ def download_path(source_name)
43
+ FileUtils.mkdir_p('temp')
44
+ File.join('temp', source_name)
45
+ end
46
+ end
47
+ end
data/lib/bozo_scripts.rb CHANGED
@@ -14,6 +14,7 @@ require 'bozo/hooks/git_tag_release'
14
14
  require 'bozo/hooks/git_hub'
15
15
  require 'bozo/hooks/hipchat'
16
16
  require 'bozo/hooks/jenkins'
17
+ require 'bozo/hooks/octopus_create_release'
17
18
  require 'bozo/hooks/teamcity'
18
19
  require 'bozo/hooks/timing'
19
20
  require 'bozo/packagers/rubygems'
@@ -33,4 +34,5 @@ require 'bozo/configuration'
33
34
  require 'bozo/erubis_templating_coordinator'
34
35
  require 'bozo/version'
35
36
  require 'bozo/tools/nuget'
37
+ require 'bozo/tools/octopustools'
36
38
  require 'bozo/tools/opencover'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bozo-scripts
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.2
4
+ version: 0.10.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-01-13 00:00:00.000000000 Z
13
+ date: 2016-01-18 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: nokogiri
@@ -112,6 +112,7 @@ files:
112
112
  - lib/bozo/hooks/git_tag_release.rb
113
113
  - lib/bozo/hooks/hipchat.rb
114
114
  - lib/bozo/hooks/jenkins.rb
115
+ - lib/bozo/hooks/octopus_create_release.rb
115
116
  - lib/bozo/hooks/teamcity.rb
116
117
  - lib/bozo/hooks/timing.rb
117
118
  - lib/bozo/packagers/nuget.rb
@@ -128,6 +129,7 @@ files:
128
129
  - lib/bozo/test_runners/opencover.rb
129
130
  - lib/bozo/test_runners/runit.rb
130
131
  - lib/bozo/tools/nuget.rb
132
+ - lib/bozo/tools/octopustools.rb
131
133
  - lib/bozo/tools/opencover.rb
132
134
  - lib/bozo/version.rb
133
135
  - lib/bozo_scripts.rb
@@ -147,7 +149,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
147
149
  version: '0'
148
150
  segments:
149
151
  - 0
150
- hash: 821952179
152
+ hash: -965351729
151
153
  required_rubygems_version: !ruby/object:Gem::Requirement
152
154
  none: false
153
155
  requirements:
@@ -156,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
156
158
  version: '0'
157
159
  segments:
158
160
  - 0
159
- hash: 821952179
161
+ hash: -965351729
160
162
  requirements: []
161
163
  rubyforge_project: bozo-scripts
162
164
  rubygems_version: 1.8.29