dpl-catalyze 1.9.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 +7 -0
- data/dpl-catalyze.gemspec +3 -0
- data/lib/dpl/provider/catalyze.rb +49 -0
- data/spec/provider/catalyze_spec.rb +39 -0
- metadata +159 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 5ea41238a4a928061ac35c3d766c99b48213c288
|
|
4
|
+
data.tar.gz: cfafc4e9ce4dbd44b55ed33929f2d930c24df0ad
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: c4996179755653ccca7dc715843860609696e85307862632c7d53bcc8d2c8a258051ecddb9f6ed849128f36fea9fe7a649ee0bdfcfe1330d1bc92fe008dd522c
|
|
7
|
+
data.tar.gz: 59cf06aeeadcd9e75080a431045d74e43ae505213db7e2a856eb836128c8ec2050e581f306a7500f32e76fc0c59bacb5755f62c8cc0514f5f04cdb6b2c8dae55
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
module DPL
|
|
2
|
+
class Provider
|
|
3
|
+
class Catalyze < Provider
|
|
4
|
+
def config
|
|
5
|
+
{
|
|
6
|
+
# the git repository to deploy to
|
|
7
|
+
"target" => options[:target] || context.env['CATALYZE_TARGET'],
|
|
8
|
+
# the pathspec for files to add to git for deployment e.g. your build directory. defaults to all files.
|
|
9
|
+
"path" => options[:path] || context.env['CATALYZE_PATH'] || '.'
|
|
10
|
+
}
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def needs_key?
|
|
14
|
+
false
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def check_app
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def check_auth
|
|
21
|
+
error "Missing Catalyze target" unless config['target']
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def push_app
|
|
25
|
+
log "Deploying to Catalyze '#{config['target']}'"
|
|
26
|
+
|
|
27
|
+
if options[:skip_cleanup]
|
|
28
|
+
# create commit message
|
|
29
|
+
build_num = context.env["TRAVIS_BUILD_NUMBER"]
|
|
30
|
+
commit = context.env["TRAVIS_COMMIT"]
|
|
31
|
+
repo_slug = context.env["TRAVIS_REPO_SLUG"]
|
|
32
|
+
branch = context.env["TRAVIS_BRANCH"]
|
|
33
|
+
if build_num && commit && repo_slug && branch
|
|
34
|
+
commit_message = "Build ##{build_num} (#{commit}) of #{repo_slug}@#{branch}"
|
|
35
|
+
else
|
|
36
|
+
commit_message = "Local build"
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
log "Using build files for deployment"
|
|
40
|
+
context.shell "git checkout HEAD"
|
|
41
|
+
context.shell "git add #{config["path"]} --all --force"
|
|
42
|
+
context.shell "git commit -m \"#{commit_message}\" --quiet"
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
context.shell "git push --force #{config['target']} HEAD:master"
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'dpl/provider/catalyze'
|
|
3
|
+
|
|
4
|
+
describe DPL::Provider::Catalyze do
|
|
5
|
+
subject :provider do
|
|
6
|
+
described_class.new(DummyContext.new, :target => 'test-target', :path => 'test-path')
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
describe "#check_auth" do
|
|
10
|
+
it 'should require a target' do
|
|
11
|
+
provider.options.update(:target => nil)
|
|
12
|
+
expect{ provider.check_auth }.to raise_error("Missing Catalyze target")
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
describe "#push_app" do
|
|
17
|
+
it 'should push the current branch to the target' do
|
|
18
|
+
expect(provider.context).to receive(:shell).with("git push --force test-target HEAD:master")
|
|
19
|
+
provider.push_app
|
|
20
|
+
end
|
|
21
|
+
it 'should add and commit local build files if skip_cleanup is true' do
|
|
22
|
+
provider.options.update(:skip_cleanup => true)
|
|
23
|
+
expect(provider.context).to receive(:shell).with("git checkout HEAD")
|
|
24
|
+
expect(provider.context).to receive(:shell).with("git add test-path --all --force")
|
|
25
|
+
expect(provider.context).to receive(:shell).with("git commit -m \"Local build\" --quiet")
|
|
26
|
+
expect(provider.context).to receive(:shell).with("git push --force test-target HEAD:master")
|
|
27
|
+
provider.push_app
|
|
28
|
+
end
|
|
29
|
+
it 'should use a path of "." if the path is not specified' do
|
|
30
|
+
provider.options.update(:path => nil)
|
|
31
|
+
provider.options.update(:skip_cleanup => true)
|
|
32
|
+
expect(provider.context).to receive(:shell).with("git checkout HEAD")
|
|
33
|
+
expect(provider.context).to receive(:shell).with("git add . --all --force")
|
|
34
|
+
expect(provider.context).to receive(:shell).with("git commit -m \"Local build\" --quiet")
|
|
35
|
+
expect(provider.context).to receive(:shell).with("git push --force test-target HEAD:master")
|
|
36
|
+
provider.push_app
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: dpl-catalyze
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 1.9.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Konstantin Haase
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2018-03-08 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: dpl
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - '='
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: 1.9.0
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - '='
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: 1.9.0
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: rspec
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - ">="
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0'
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - ">="
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: rspec-its
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - ">="
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '0'
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - ">="
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: rake
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - ">="
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '0'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - ">="
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: json_pure
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: tins
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - ">="
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - ">="
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '0'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: coveralls
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - ">="
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '0'
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - ">="
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '0'
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: highline
|
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - ">="
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: '0'
|
|
118
|
+
type: :development
|
|
119
|
+
prerelease: false
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - ">="
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: '0'
|
|
125
|
+
description: deploy tool abstraction for clients
|
|
126
|
+
email: konstantin.mailinglists@googlemail.com
|
|
127
|
+
executables: []
|
|
128
|
+
extensions: []
|
|
129
|
+
extra_rdoc_files: []
|
|
130
|
+
files:
|
|
131
|
+
- dpl-catalyze.gemspec
|
|
132
|
+
- lib/dpl/provider/catalyze.rb
|
|
133
|
+
- spec/provider/catalyze_spec.rb
|
|
134
|
+
homepage: https://github.com/travis-ci/dpl
|
|
135
|
+
licenses:
|
|
136
|
+
- MIT
|
|
137
|
+
metadata: {}
|
|
138
|
+
post_install_message:
|
|
139
|
+
rdoc_options: []
|
|
140
|
+
require_paths:
|
|
141
|
+
- lib
|
|
142
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
143
|
+
requirements:
|
|
144
|
+
- - ">="
|
|
145
|
+
- !ruby/object:Gem::Version
|
|
146
|
+
version: '2.2'
|
|
147
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
148
|
+
requirements:
|
|
149
|
+
- - ">="
|
|
150
|
+
- !ruby/object:Gem::Version
|
|
151
|
+
version: '0'
|
|
152
|
+
requirements: []
|
|
153
|
+
rubyforge_project:
|
|
154
|
+
rubygems_version: 2.6.13
|
|
155
|
+
signing_key:
|
|
156
|
+
specification_version: 4
|
|
157
|
+
summary: deploy tool
|
|
158
|
+
test_files:
|
|
159
|
+
- spec/provider/catalyze_spec.rb
|