Class: Bozo::Hooks::OctopusCreateRelease

Inherits:
Object
  • Object
show all
Defined in:
lib/bozo/hooks/octopus_create_release.rb

Overview

Hook to create a release in Octopus.

Instance Method Summary collapse

Constructor Details

#initializeOctopusCreateRelease

Returns a new instance of OctopusCreateRelease.



6
7
8
9
# File 'lib/bozo/hooks/octopus_create_release.rb', line 6

def initialize
  @deploy_to = nil
  @display_progress = false
end

Instance Method Details

#api_key(value) ⇒ Object

The api key to authorise to Octopus with.



22
23
24
# File 'lib/bozo/hooks/octopus_create_release.rb', line 22

def api_key(value)
  @octopus_api_key = value
end

#deploy_to(value) ⇒ Object

Specify the environment in Octopus to deploy to.



27
28
29
# File 'lib/bozo/hooks/octopus_create_release.rb', line 27

def deploy_to(value)
  @deploy_to = value
end

#display_progress(value) ⇒ Object

Write the deployment log from Octopus. If false then the hook does not wait for the release to complete.



33
34
35
# File 'lib/bozo/hooks/octopus_create_release.rb', line 33

def display_progress(value)
  @display_progress = value
end

#post_publishObject



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/bozo/hooks/octopus_create_release.rb', line 37

def post_publish
  return unless build_server?
  log_info "Creating release in Octopus for #{env['BUILD_VERSION_FULL']}"

  args = []
  args << 'create-release'
  args << "--project \"#{@octopus_project}\""
  args << "--version #{env['BUILD_VERSION_FULL']}"
  args << "--package #{env['BUILD_VERSION_FULL']}"
  args << "--server #{@octopus_server}"
  args << "--apiKey #{@octopus_api_key}"
  args << "--releaseNotes \"[Build #{env['BUILD_VERSION_FULL']}](#{env['BUILD_URL']})\""

  if @display_progress
    args << '--progress'
  end

  if @deploy_to
    args << "--deployto=#{@deploy_to}"
  end

  execute_command :octo, args
end

#project(value) ⇒ Object

Specify the name of the Octopus Deploy project to create a release for.



12
13
14
# File 'lib/bozo/hooks/octopus_create_release.rb', line 12

def project(value)
  @octopus_project = value
end

#server(value) ⇒ Object

The server address of Octopus.



17
18
19
# File 'lib/bozo/hooks/octopus_create_release.rb', line 17

def server(value)
  @octopus_server = value
end