capose 0.1.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/.gitignore +1 -0
- data/Gemfile +8 -0
- data/Gemfile.lock +61 -0
- data/README.md +4 -0
- data/capose.gemspec +21 -0
- data/lib/capose.rb +73 -0
- metadata +78 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d2591e5750c3c48278502ea9f067f0bc3c0d491f
|
4
|
+
data.tar.gz: 06dd8ff0fa00a720e23a2a02e19abf0fa1a0f82a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 482e6c5bf895277fff76a1bb1185820d34323ff91bff806fe0d73f684c3017a418f7c3393c988e9bf55a41f4b5ea8f217aa2af64e84a9e9d3b7653e85ee9ef0c
|
7
|
+
data.tar.gz: fe2d2ece25816175ecca3371499aaf50c44a0b9d61e8c6b7c575f872aa6d4ae71645347e854d500f6b52aaa4d720abd2964216d19d8a15ec7184623fdd6d877c
|
data/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
*.gem
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
capose (0.1.0)
|
5
|
+
capistrano (>= 3.7)
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
airbrussh (1.1.2)
|
11
|
+
sshkit (>= 1.6.1, != 1.7.0)
|
12
|
+
capistrano (3.7.2)
|
13
|
+
airbrussh (>= 1.0.0)
|
14
|
+
capistrano-harrow
|
15
|
+
i18n
|
16
|
+
rake (>= 10.0.0)
|
17
|
+
sshkit (>= 1.9.0)
|
18
|
+
capistrano-harrow (0.5.3)
|
19
|
+
coderay (1.1.1)
|
20
|
+
diff-lcs (1.3)
|
21
|
+
i18n (0.8.0)
|
22
|
+
method_source (0.8.2)
|
23
|
+
net-scp (1.2.1)
|
24
|
+
net-ssh (>= 2.6.5)
|
25
|
+
net-ssh (4.0.1)
|
26
|
+
pry (0.10.4)
|
27
|
+
coderay (~> 1.1.0)
|
28
|
+
method_source (~> 0.8.1)
|
29
|
+
slop (~> 3.4)
|
30
|
+
rake (12.0.0)
|
31
|
+
rspec (3.5.0)
|
32
|
+
rspec-core (~> 3.5.0)
|
33
|
+
rspec-expectations (~> 3.5.0)
|
34
|
+
rspec-mocks (~> 3.5.0)
|
35
|
+
rspec-core (3.5.4)
|
36
|
+
rspec-support (~> 3.5.0)
|
37
|
+
rspec-expectations (3.5.0)
|
38
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
39
|
+
rspec-support (~> 3.5.0)
|
40
|
+
rspec-mocks (3.5.0)
|
41
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
42
|
+
rspec-support (~> 3.5.0)
|
43
|
+
rspec-support (3.5.0)
|
44
|
+
slop (3.6.0)
|
45
|
+
sshkit (1.11.5)
|
46
|
+
net-scp (>= 1.1.2)
|
47
|
+
net-ssh (>= 2.8.0)
|
48
|
+
|
49
|
+
PLATFORMS
|
50
|
+
ruby
|
51
|
+
|
52
|
+
DEPENDENCIES
|
53
|
+
bundler (~> 1.4)
|
54
|
+
capose!
|
55
|
+
pry
|
56
|
+
rake
|
57
|
+
rspec
|
58
|
+
rspec-core
|
59
|
+
|
60
|
+
BUNDLED WITH
|
61
|
+
1.12.5
|
data/README.md
ADDED
@@ -0,0 +1,4 @@
|
|
1
|
+
# Capose - A capistrano addon to use with docker-compose
|
2
|
+
|
3
|
+
This gem is a lighter version of https://github.com/netguru/capistrano-docker that aims to work only with docker-compose. The idea is to have a minimal possible capistrano configuration and use the power of docker-compose to build images and run containers.
|
4
|
+
|
data/capose.gemspec
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
lib = File.expand_path('../lib', __FILE__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
|
4
|
+
Gem::Specification.new do |spec|
|
5
|
+
spec.name = 'capose'
|
6
|
+
spec.version = '0.1.0'
|
7
|
+
spec.authors = ["Jacek Jakubik"]
|
8
|
+
spec.email = ["jacek.jakubik@netguru.pl"]
|
9
|
+
spec.description = %q{Docker-Compose support for Capistrano 3.x}
|
10
|
+
spec.summary = %q{Docker-Compose support for Capistrano 3.x}
|
11
|
+
spec.homepage = 'https://github.com/netguru/capose'
|
12
|
+
spec.license = 'MIT'
|
13
|
+
|
14
|
+
spec.files = `git ls-files`.split($/)
|
15
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
16
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
17
|
+
spec.require_paths = ['lib']
|
18
|
+
|
19
|
+
spec.add_runtime_dependency 'capistrano', '~> 3.7'
|
20
|
+
spec.add_development_dependency 'bundler', '~> 1.4'
|
21
|
+
end
|
data/lib/capose.rb
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
namespace :deploy do
|
2
|
+
after :updated, 'capose:deploy'
|
3
|
+
end
|
4
|
+
|
5
|
+
namespace :capose do
|
6
|
+
def _project
|
7
|
+
return "" if fetch(:capose_project).nil?
|
8
|
+
"-p #{fetch(:capose_project)}"
|
9
|
+
end
|
10
|
+
|
11
|
+
def _files
|
12
|
+
cmd = []
|
13
|
+
|
14
|
+
Array(fetch(:capose_file)).each { |file| cmd << ["-f #{file}"] }
|
15
|
+
|
16
|
+
cmd.join(" ")
|
17
|
+
end
|
18
|
+
|
19
|
+
def _command(command)
|
20
|
+
[_project, _files, command].join(" ")
|
21
|
+
end
|
22
|
+
|
23
|
+
task :command do
|
24
|
+
_cmd = ENV["CAPOSE_COMMAND"]
|
25
|
+
if _cmd.nil?
|
26
|
+
puts "Usage: CAPOSE_COMMAND='command' bundle exec cap #{fetch(:stage)} capose:command"
|
27
|
+
exit 1
|
28
|
+
end
|
29
|
+
|
30
|
+
on roles(fetch(:capose_role)) do
|
31
|
+
within current_path do
|
32
|
+
execute :"docker-compose", _command(ENV["CAPOSE_COMMAND"])
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
task :stop do
|
38
|
+
on roles(fetch(:capose_role)) do
|
39
|
+
within current_path do
|
40
|
+
execute :"docker-compose", _command("stop")
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
task :deploy do
|
46
|
+
on roles(fetch(:capose_role)) do
|
47
|
+
within release_path do
|
48
|
+
fetch(:capose_copy).each do |file|
|
49
|
+
execute :cp, " -aR #{shared_path}/#{file} #{release_path}/#{file}"
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
on roles(fetch(:capose_role)) do
|
55
|
+
within release_path do
|
56
|
+
fetch(:capose_commands).each do |command|
|
57
|
+
execute :"docker-compose", _command(command)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
namespace :load do
|
65
|
+
task :defaults do
|
66
|
+
set :capose_role, -> { :web }
|
67
|
+
set :capose_copy, -> { [] }
|
68
|
+
set :capose_project, -> { fetch(:application) }
|
69
|
+
set :capose_file, -> { ["docker-compose-#{fetch(:stage)}.yml"] }
|
70
|
+
|
71
|
+
set :capose_commands, -> { ["build", "up -d"] }
|
72
|
+
end
|
73
|
+
end
|
metadata
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: capose
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jacek Jakubik
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-02-22 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: capistrano
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.7'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3.7'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.4'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.4'
|
41
|
+
description: Docker-Compose support for Capistrano 3.x
|
42
|
+
email:
|
43
|
+
- jacek.jakubik@netguru.pl
|
44
|
+
executables: []
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- ".gitignore"
|
49
|
+
- Gemfile
|
50
|
+
- Gemfile.lock
|
51
|
+
- README.md
|
52
|
+
- capose.gemspec
|
53
|
+
- lib/capose.rb
|
54
|
+
homepage: https://github.com/netguru/capose
|
55
|
+
licenses:
|
56
|
+
- MIT
|
57
|
+
metadata: {}
|
58
|
+
post_install_message:
|
59
|
+
rdoc_options: []
|
60
|
+
require_paths:
|
61
|
+
- lib
|
62
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
67
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '0'
|
72
|
+
requirements: []
|
73
|
+
rubyforge_project:
|
74
|
+
rubygems_version: 2.4.5.1
|
75
|
+
signing_key:
|
76
|
+
specification_version: 4
|
77
|
+
summary: Docker-Compose support for Capistrano 3.x
|
78
|
+
test_files: []
|