apmate 0.5.0 → 0.6.0
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.
- checksums.yaml +4 -4
- data/lib/apmate.rb +1 -0
- data/lib/apmate/cli.rb +19 -2
- data/lib/apmate/commands/publish_artifact.rb +32 -0
- data/lib/apmate/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c0e7a91181a6fcab0265881556380b59683488a7
|
4
|
+
data.tar.gz: f817037b063d8fb21eabf9c4650bfcc909fe4328
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f4ed00503f78285b9ae60e10000ad75ca538306cbf409b3b9d58517ebacace8b55b9200d5a4221e587922926a80b9553df03a871f99aea25965042b52fc74d27
|
7
|
+
data.tar.gz: 57a80304e6e3d4313d1dfbc4d0581a7d91f639081b17b026627b8ec10b8702779ab471b1befaee921cb8a934cbb3aa398b1d81cb35eb781fe04622fdcb04f7b4
|
data/lib/apmate.rb
CHANGED
data/lib/apmate/cli.rb
CHANGED
@@ -19,7 +19,8 @@ class Apmate::CLI
|
|
19
19
|
get_artifact_name: '/api/artifacts/name',
|
20
20
|
mass_promote_environment: '/api/applications/mass_promote',
|
21
21
|
promote_environment: '/api/environments/promote',
|
22
|
-
create_execution: '/api/executions'
|
22
|
+
create_execution: '/api/executions',
|
23
|
+
publish_artifact: '/api/artifacts/publish'
|
23
24
|
}
|
24
25
|
|
25
26
|
def self.apply_file(file, opts)
|
@@ -131,6 +132,21 @@ class Apmate::CLI
|
|
131
132
|
apmate_post uri, payload, opts
|
132
133
|
end
|
133
134
|
|
135
|
+
def self.publish_artifact(name, environment_name, opts)
|
136
|
+
Apmate::Logger.logger.debug "Beginning to publish artifact."
|
137
|
+
|
138
|
+
uri = URI("#{Apmate::CLI::APMATE_URL}#{ENDPOINTS[:publish_artifact]}")
|
139
|
+
Apmate::Logger.logger.debug "uri: #{uri}"
|
140
|
+
|
141
|
+
payload = { artifact: { name: name, environment_name: environment_name } }
|
142
|
+
opts.each do |opt, value|
|
143
|
+
payload[:artifact][opt] = value
|
144
|
+
end
|
145
|
+
Apmate::Logger.logger.debug "payload: #{payload}"
|
146
|
+
|
147
|
+
apmate_post uri, payload, opts
|
148
|
+
end
|
149
|
+
|
134
150
|
def self.log_output(output, opts)
|
135
151
|
Apmate::Logger.logger.info output
|
136
152
|
if opts[:output]
|
@@ -160,7 +176,8 @@ class Apmate::CLI
|
|
160
176
|
get_command,
|
161
177
|
Command::MASS_PROMOTE,
|
162
178
|
Command::PROMOTE,
|
163
|
-
Command::CREATE_EXECUTION
|
179
|
+
Command::CREATE_EXECUTION,
|
180
|
+
Command::PUBLISH_ARTIFACT
|
164
181
|
].each do |cmd|
|
165
182
|
command.add_command cmd
|
166
183
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Apmate::CLI::Command
|
2
|
+
PUBLISH_ARTIFACT = Cri::Command.define do
|
3
|
+
name 'publish_artifact'
|
4
|
+
usage 'publish_artifact [options] <name> <environment_name>'
|
5
|
+
summary "Publishes artifact information to Apmate for each environment with environment_name."
|
6
|
+
description %q(
|
7
|
+
Publishes artifact information to Apmate for each environment with environment_name.
|
8
|
+
Must have at least one option specified.
|
9
|
+
WARNING: Use with caution. There is no "undo" for this. Take a backup first.
|
10
|
+
)
|
11
|
+
|
12
|
+
flag :h, :help, 'show help for this command' do |value, cmd|
|
13
|
+
puts cmd.help
|
14
|
+
exit 0
|
15
|
+
end
|
16
|
+
|
17
|
+
option nil, :version, 'set artifact version', argument: :required
|
18
|
+
option nil, :repository, 'set artifact repository', argument: :required
|
19
|
+
option nil, :promote, 'mark artifact for promotion', argument: :required
|
20
|
+
|
21
|
+
run do |opts, args, cmd|
|
22
|
+
Apmate::Logger.log_level(opts)
|
23
|
+
Apmate::Logger.verbosity(opts)
|
24
|
+
Apmate::Logger.logger.debug "opts: #{opts}"
|
25
|
+
Apmate::Logger.logger.debug "args: #{args}"
|
26
|
+
Apmate::Logger.logger.debug "cmd: #{cmd.to_s}"
|
27
|
+
cmd.run(['-h']) unless (args.count == 2)
|
28
|
+
cmd.run(['-h']) unless (opts.count > 0)
|
29
|
+
Apmate::CLI.publish_artifact(args[0], args[1], opts)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/lib/apmate/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: apmate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Patrick Baldridge
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-08-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cri
|
@@ -87,6 +87,7 @@ files:
|
|
87
87
|
- lib/apmate/commands/help.rb
|
88
88
|
- lib/apmate/commands/mass_promote.rb
|
89
89
|
- lib/apmate/commands/promote.rb
|
90
|
+
- lib/apmate/commands/publish_artifact.rb
|
90
91
|
- lib/apmate/logger/logger.rb
|
91
92
|
- lib/apmate/version.rb
|
92
93
|
homepage:
|
@@ -109,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
110
|
version: '0'
|
110
111
|
requirements: []
|
111
112
|
rubyforge_project:
|
112
|
-
rubygems_version: 2.6.
|
113
|
+
rubygems_version: 2.6.8
|
113
114
|
signing_key:
|
114
115
|
specification_version: 4
|
115
116
|
summary: A CLI interface for Apmate Environment Datastore.
|