fastlane-plugin-docker 0.1.0 → 0.2.0.pre.alpha.pre.8
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
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ff01e1e8c5c3d6d5725051c197a02ddfeaa397a7
|
|
4
|
+
data.tar.gz: fb65409ec29fab67384c38d18f0c111f4118e955
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 475bbafed5bd59ace63475135da1d5eaf6efbe18c7d42e81eb33a5bed1ddc493da238445e54853050ad62499e5811c2aeea93e25020fad5c281694016f072092
|
|
7
|
+
data.tar.gz: 31e44ee4b388a88de2faaa499154a184153f78b902188ebcd28adb9435ae7dabe23677ccd75526bbf702958334eaf84d4a01ba4d515a4d5748aca022a6f425da
|
data/README.md
CHANGED
|
@@ -16,7 +16,46 @@ Actions to support building images, logging into Docker Hub, and pushing those i
|
|
|
16
16
|
|
|
17
17
|
## Example
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Here is some sample code to get you started:
|
|
20
|
+
|
|
21
|
+
```ruby
|
|
22
|
+
|
|
23
|
+
lane :release_docker_image do
|
|
24
|
+
ensure_docker_machine_available(
|
|
25
|
+
machine_name: "docker-build-machine"
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
docker_login
|
|
29
|
+
|
|
30
|
+
docker_build(
|
|
31
|
+
repository: "example-org/server",
|
|
32
|
+
tag: "1.2.0"
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
docker_push
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
This will start using a docker machine (creating it if it doesn't exist yet), login to docker hub, build and tag a new docker image and push that image to Docker Hub.
|
|
40
|
+
|
|
41
|
+
```ruby
|
|
42
|
+
lane :update_compose_deployment do
|
|
43
|
+
ensure_docker_machine_available(
|
|
44
|
+
machine_name: "docker-build-machine"
|
|
45
|
+
)
|
|
46
|
+
docker_compose(
|
|
47
|
+
command: "pull"
|
|
48
|
+
)
|
|
49
|
+
docker_compose(
|
|
50
|
+
command: "up"
|
|
51
|
+
)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
This will start using a docker machine (creating it if it doesn't exist yet), pull all images from `docker-compose.yml` and bring them up.
|
|
57
|
+
|
|
58
|
+
Alternatively, check out the [example `Fastfile`](fastlane/Fastfile) to see how to use this plugin. Try it by cloning the repo, setting your Docker Hub username and password as environment variables by running `export DOCKER_LOGIN_USER="<your user name>"` and `export DOCKER_LOGIN_PASSWORD="<your password>"`, running `fastlane install_plugins` and `bundle exec fastlane test`.
|
|
20
59
|
|
|
21
60
|
Attention: If you don't change the example Fastfile at all, a new repository with `<your username>/test` will be pushed to Docker Hub!
|
|
22
61
|
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
module Fastlane
|
|
2
|
+
module Actions
|
|
3
|
+
class DockerComposeAction < Action
|
|
4
|
+
def self.run(params)
|
|
5
|
+
unless `which docker-compose`.include?("docker-compose")
|
|
6
|
+
UI.error("docker-compose was not found")
|
|
7
|
+
UI.error("please read the following https://docs.docker.com/compose/install/ on how to install it.")
|
|
8
|
+
UI.user_error!("docker-compose not installed")
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
command = "docker-compose "
|
|
12
|
+
command << params[:files].map { |item| " -f " + item }.join + " " if params[:files]
|
|
13
|
+
command << "--project-name {params[:project].shellescape} " if params[:project]
|
|
14
|
+
command << params[:command]
|
|
15
|
+
command << " -d " if params[:command] == "up" && params[:detach]
|
|
16
|
+
|
|
17
|
+
Actions.sh command, log: true
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def self.description
|
|
21
|
+
"Define and run multi-container applications with Docker"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def self.available_options
|
|
25
|
+
[
|
|
26
|
+
FastlaneCore::ConfigItem.new(key: :files,
|
|
27
|
+
description: "Compose files",
|
|
28
|
+
env_name: "DOCKER_BUILD_COMPOSE_FILES",
|
|
29
|
+
is_string: false,
|
|
30
|
+
optional: true,
|
|
31
|
+
type: Array),
|
|
32
|
+
FastlaneCore::ConfigItem.new(key: :command,
|
|
33
|
+
description: "Compose command (up, down, pull ....)",
|
|
34
|
+
default_value: "log",
|
|
35
|
+
optional: false,
|
|
36
|
+
env_name: "DOCKER_COMPOSE_COMMAND"),
|
|
37
|
+
FastlaneCore::ConfigItem.new(key: :detach,
|
|
38
|
+
description: "Detach on run",
|
|
39
|
+
optional: true,
|
|
40
|
+
is_string: false,
|
|
41
|
+
default_value: true,
|
|
42
|
+
env_name: "DOCKER_COMPOSE_DETACH"),
|
|
43
|
+
FastlaneCore::ConfigItem.new(key: :project,
|
|
44
|
+
description: "Compose project name",
|
|
45
|
+
optional: true,
|
|
46
|
+
env_name: "DOCKER_COMPOSE_PROJECT")
|
|
47
|
+
]
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def self.authors
|
|
51
|
+
["hjanuschka"]
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def self.is_supported?(platform)
|
|
55
|
+
true
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -28,7 +28,7 @@ SCRIPT
|
|
|
28
28
|
Actions.sh "docker-machine create -d virtualbox #{name.shellescape} 1> /dev/null"
|
|
29
29
|
end
|
|
30
30
|
|
|
31
|
-
def configure_env(machine_name)
|
|
31
|
+
def configure_env(machine_name)
|
|
32
32
|
instructions = (Actions.sh "docker-machine env #{machine_name} --shell sh").lines
|
|
33
33
|
instructions.map!(&:strip).select! { |i| i =~ /^export/ }
|
|
34
34
|
instructions.each do |i|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fastlane-plugin-docker
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0.pre.alpha.pre.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Manu Wallner
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2017-02-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: pry
|
|
@@ -105,13 +105,14 @@ files:
|
|
|
105
105
|
- lib/fastlane/plugin/docker.rb
|
|
106
106
|
- lib/fastlane/plugin/docker/actions/docker_build.rb
|
|
107
107
|
- lib/fastlane/plugin/docker/actions/docker_client.rb
|
|
108
|
+
- lib/fastlane/plugin/docker/actions/docker_compose.rb
|
|
108
109
|
- lib/fastlane/plugin/docker/actions/docker_login.rb
|
|
109
110
|
- lib/fastlane/plugin/docker/actions/docker_machine_client.rb
|
|
110
111
|
- lib/fastlane/plugin/docker/actions/docker_push.rb
|
|
111
112
|
- lib/fastlane/plugin/docker/actions/ensure_docker_machine_available.rb
|
|
112
113
|
- lib/fastlane/plugin/docker/helper/docker_helper.rb
|
|
113
114
|
- lib/fastlane/plugin/docker/version.rb
|
|
114
|
-
homepage: https://github.com/milch/fastlane-docker
|
|
115
|
+
homepage: https://github.com/milch/fastlane-plugin-docker
|
|
115
116
|
licenses:
|
|
116
117
|
- MIT
|
|
117
118
|
metadata: {}
|
|
@@ -126,15 +127,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
126
127
|
version: '0'
|
|
127
128
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
128
129
|
requirements:
|
|
129
|
-
- - "
|
|
130
|
+
- - ">"
|
|
130
131
|
- !ruby/object:Gem::Version
|
|
131
|
-
version:
|
|
132
|
+
version: 1.3.1
|
|
132
133
|
requirements: []
|
|
133
134
|
rubyforge_project:
|
|
134
|
-
rubygems_version: 2.
|
|
135
|
+
rubygems_version: 2.4.8
|
|
135
136
|
signing_key:
|
|
136
137
|
specification_version: 4
|
|
137
138
|
summary: fastlane Actions to support building images, logging into Docker Hub, and
|
|
138
139
|
pushing those images to the Hub
|
|
139
140
|
test_files: []
|
|
140
|
-
has_rdoc:
|