ddsl 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +0 -6
- data/.ddsl.yml +10 -4
- data/.gitlab-ci.yml +0 -1
- data/.travis.yml +1 -2
- data/Gemfile.lock +13 -8
- data/README.md +26 -14
- data/ddsl.gemspec +1 -1
- data/docker/Dockerfile +1 -1
- data/docs/build.schema.json +141 -0
- data/docs/build.schema.md +383 -0
- data/docs/ddsl.schema.json +42 -0
- data/docs/ddsl.schema.md +118 -0
- data/docs/registry.schema.json +30 -0
- data/docs/registry.schema.md +104 -0
- data/docs/run.schema.json +142 -0
- data/docs/run.schema.md +330 -0
- data/lib/ddsl/command.rb +1 -0
- data/lib/ddsl/command/base.rb +6 -0
- data/lib/ddsl/command/docker/build.rb +6 -0
- data/lib/ddsl/command/docker/pull.rb +18 -0
- data/lib/ddsl/command/dsl.rb +10 -0
- data/lib/ddsl/schema.rb +9 -172
- data/lib/ddsl/schema_validator.rb +11 -6
- data/lib/ddsl/version.rb +1 -1
- data/schemas/build.schema.json +141 -0
- data/schemas/ddsl.schema.json +44 -0
- data/schemas/registry.schema.json +30 -0
- data/schemas/run.schema.json +142 -0
- metadata +18 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cbf0d40e7957eb4db36772b305282892b5084f2c
|
4
|
+
data.tar.gz: 447843b863036959416cb10ab4ced57da3fd70c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e879a19bda67f10c326dd8155f3637c7630e8bb05a8728bd27d931878bcd0eb7aff0480d688b5c11ad4e883bc01ecd2b3dd1c8f4f861e63af8c81ad89d7a3a5e
|
7
|
+
data.tar.gz: 4296bae73cb2db3525c66e591c315b09685f78aec50234c8ba6db06db2bd567d59fd9ec311b7e5fb6a189a2344eb6b0d170e5be706e14b41b7d135406ded7673
|
data/.circleci/config.yml
CHANGED
@@ -23,8 +23,6 @@ jobs:
|
|
23
23
|
steps:
|
24
24
|
- checkout
|
25
25
|
- setup_remote_docker
|
26
|
-
- run:
|
27
|
-
command: echo "$DOCKER_REGISTRY_PASSWORD" | docker login --username $DOCKER_REGISTRY_USERNAME --password-stdin
|
28
26
|
- run:
|
29
27
|
command: |
|
30
28
|
export CI_SHA1=circleci-$CIRCLE_SHA1
|
@@ -34,8 +32,6 @@ jobs:
|
|
34
32
|
steps:
|
35
33
|
- checkout
|
36
34
|
- setup_remote_docker
|
37
|
-
- run:
|
38
|
-
command: echo "$DOCKER_REGISTRY_PASSWORD" | docker login --username $DOCKER_REGISTRY_USERNAME --password-stdin
|
39
35
|
- run:
|
40
36
|
command: |
|
41
37
|
export CI_SHA1=circleci-$CIRCLE_SHA1
|
@@ -45,8 +41,6 @@ jobs:
|
|
45
41
|
steps:
|
46
42
|
- checkout
|
47
43
|
- setup_remote_docker
|
48
|
-
- run:
|
49
|
-
command: echo "$DOCKER_REGISTRY_PASSWORD" | docker login --username $DOCKER_REGISTRY_USERNAME --password-stdin
|
50
44
|
- run:
|
51
45
|
command: |
|
52
46
|
export CI_SHA1=circleci-$CIRCLE_SHA1
|
data/.ddsl.yml
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
version: 1
|
2
2
|
|
3
|
+
registries:
|
4
|
+
- url: docker.io
|
5
|
+
username: $DOCKER_REGISTRY_USERNAME
|
6
|
+
password: $DOCKER_REGISTRY_PASSWORD
|
7
|
+
use_cache: true
|
8
|
+
|
3
9
|
builds:
|
4
10
|
- name: feature-branch
|
5
11
|
type: docker
|
@@ -34,14 +40,14 @@ runs:
|
|
34
40
|
type: docker
|
35
41
|
image: bilby91/ddsl:$CI_SHA1
|
36
42
|
cmd: bundle exec rspec spec
|
37
|
-
- name: test
|
38
|
-
type: docker
|
39
|
-
image: bilby91/ddsl:latest
|
40
|
-
cmd: bundle exec rspec spec
|
41
43
|
- name: lint-ci
|
42
44
|
type: docker
|
43
45
|
image: bilby91/ddsl:$CI_SHA1
|
44
46
|
cmd: rubocop .
|
47
|
+
- name: test
|
48
|
+
type: docker
|
49
|
+
image: bilby91/ddsl:latest
|
50
|
+
cmd: bundle exec rspec spec
|
45
51
|
- name: lint
|
46
52
|
type: docker
|
47
53
|
image: bilby91/ddsl:latest
|
data/.gitlab-ci.yml
CHANGED
data/.travis.yml
CHANGED
@@ -7,7 +7,7 @@ services:
|
|
7
7
|
|
8
8
|
env:
|
9
9
|
global:
|
10
|
-
- DDSL_VERSION=0.0.
|
10
|
+
- DDSL_VERSION=0.0.3
|
11
11
|
- DOCKER_COMPOSE_VERSION=1.23.1
|
12
12
|
|
13
13
|
stages:
|
@@ -19,7 +19,6 @@ before_install:
|
|
19
19
|
- curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
|
20
20
|
- chmod +x docker-compose
|
21
21
|
- sudo mv docker-compose /usr/local/bin
|
22
|
-
- docker login -u "$DOCKER_REGISTRY_USERNAME" -p "$DOCKER_REGISTRY_PASSWORD"
|
23
22
|
- export CI_SHA1=travis-$TRAVIS_COMMIT
|
24
23
|
|
25
24
|
install: gem install ddsl --version=$DDSL_VERSION
|
data/Gemfile.lock
CHANGED
@@ -1,31 +1,35 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ddsl (0.0.
|
4
|
+
ddsl (0.0.4)
|
5
5
|
clamp (~> 1)
|
6
6
|
json (~> 2)
|
7
|
-
|
7
|
+
json_schemer (~> 0.1)
|
8
8
|
transproc (~> 1)
|
9
9
|
|
10
10
|
GEM
|
11
11
|
remote: https://rubygems.org/
|
12
12
|
specs:
|
13
|
-
addressable (2.5.2)
|
14
|
-
public_suffix (>= 2.0.2, < 4.0)
|
15
13
|
ast (2.4.0)
|
16
14
|
clamp (1.3.0)
|
17
15
|
diff-lcs (1.3)
|
18
16
|
docile (1.3.1)
|
17
|
+
ecma-re-validator (0.2.0)
|
18
|
+
regexp_parser (~> 1.2)
|
19
|
+
hana (1.3.4)
|
19
20
|
jaro_winkler (1.5.1)
|
20
21
|
json (2.1.0)
|
21
|
-
|
22
|
-
|
22
|
+
json_schemer (0.1.9)
|
23
|
+
ecma-re-validator (~> 0.2.0)
|
24
|
+
hana (~> 1.3.3)
|
25
|
+
regexp_parser (~> 1.2.0)
|
26
|
+
uri_template (~> 0.7.0)
|
23
27
|
parallel (1.12.1)
|
24
28
|
parser (2.5.3.0)
|
25
29
|
ast (~> 2.4.0)
|
26
30
|
powerpack (0.1.2)
|
27
|
-
public_suffix (3.0.3)
|
28
31
|
rainbow (3.0.0)
|
32
|
+
regexp_parser (1.2.0)
|
29
33
|
rspec (3.8.0)
|
30
34
|
rspec-core (~> 3.8.0)
|
31
35
|
rspec-expectations (~> 3.8.0)
|
@@ -53,8 +57,9 @@ GEM
|
|
53
57
|
json (>= 1.8, < 3)
|
54
58
|
simplecov-html (~> 0.10.0)
|
55
59
|
simplecov-html (0.10.2)
|
56
|
-
transproc (1.0.
|
60
|
+
transproc (1.0.3)
|
57
61
|
unicode-display_width (1.4.0)
|
62
|
+
uri_template (0.7.0)
|
58
63
|
|
59
64
|
PLATFORMS
|
60
65
|
ruby
|
data/README.md
CHANGED
@@ -2,7 +2,11 @@
|
|
2
2
|
|
3
3
|
Docker Declarative Specific Language
|
4
4
|
|
5
|
-
`ddsl`
|
5
|
+
`ddsl` allow developers to express in a declarative way how application are built, run and tested. Building, running and testing applications should be semlessly, independently on what environment your are. `ddsl` makes the latter easy by providing one cli to use in CI and development environments.
|
6
|
+
|
7
|
+
## Usage
|
8
|
+
|
9
|
+
`ddsl` it's a command line tool that works with a companion `.ddsl.yml` file. In the `.ddsl.yml` file you can declare the diferent builds and runs that your application will need. A very simple example would look like this:
|
6
10
|
|
7
11
|
```yaml
|
8
12
|
version: 1
|
@@ -55,13 +59,31 @@ runs:
|
|
55
59
|
cmd: rubocop .
|
56
60
|
```
|
57
61
|
|
62
|
+
In order to run the `feature-branch` build for example, you would need to invoke the `ddsl` like this:
|
63
|
+
|
64
|
+
`ddsl build feature-branch`
|
65
|
+
|
66
|
+
Or maybe you want to run you tests
|
67
|
+
|
68
|
+
`ddsl run test`
|
69
|
+
|
70
|
+
Or maybe you want to run your tests and also lint your code
|
71
|
+
|
72
|
+
`ddsl run test lint`
|
73
|
+
|
74
|
+
## Documentation
|
75
|
+
|
76
|
+
The best documentation at this moment is looking at the source code of the project. `ddsl` uses itself to run in CI and developers use it to run in their development environments. Take a look at `.ddsl.yml` file in the root of the repository for more information.
|
77
|
+
|
78
|
+
Full documentation of the schema can be found here https://github.com/bilby91/ddsl/blob/master/docs/ddsl.schema.md
|
79
|
+
|
58
80
|
## Contnious Integration
|
59
81
|
|
60
82
|
| Provider | Status |
|
61
83
|
|-----------|------------------------------------------------------------------------------------------------------------------------------------------|
|
62
84
|
| GitLab CI | [![Gitlab CI](https://img.shields.io/gitlab/pipeline/bilby91/ddsl/master.svg)](https://gitlab.com/bilby91/ddsl) |
|
63
85
|
| Circle CI | [![Circle CI](https://img.shields.io/circleci/project/github/bilby91/ddsl/master.svg)](https://circleci.com/gh/bilby91/ddsl/tree/master) |
|
64
|
-
| Travis CI | [![Travis CI](https://img.shields.io/travis/bilby91/ddsl/master.svg)](https://travis-ci.com/bilby91/ddsl) |
|
86
|
+
| Travis CI | [![Travis CI](https://img.shields.io/travis/com/bilby91/ddsl/master.svg)](https://travis-ci.com/bilby91/ddsl) |
|
65
87
|
|
66
88
|
## Dependencies
|
67
89
|
|
@@ -69,17 +91,7 @@ runs:
|
|
69
91
|
- docker
|
70
92
|
- docker-compose
|
71
93
|
|
72
|
-
## TODO
|
73
|
-
|
74
|
-
- [X] Docker Compose support
|
75
|
-
- [X] Variable interpolation
|
76
|
-
- [X] Add CircleCI
|
77
|
-
- [X] Add GitLabCI
|
78
|
-
- [X] Add TravisCI
|
79
|
-
- [X] Registries?
|
80
|
-
- [ ] Variable sharing/reusing
|
81
|
-
- [ ] External secret proviers ? (KMS, Google?)
|
82
|
-
|
83
94
|
## Contact
|
84
95
|
|
85
|
-
- Martín Fernández <fmartin91@gmail.com>
|
96
|
+
- Martín Fernández <fmartin91@gmail.com>
|
97
|
+
- Iván Etchart <ivan.etchart@me.com>
|
data/ddsl.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
spec.add_dependency 'clamp', '~> 1'
|
21
21
|
spec.add_dependency 'json', '~> 2'
|
22
|
-
spec.add_dependency '
|
22
|
+
spec.add_dependency 'json_schemer', '~> 0.1'
|
23
23
|
spec.add_dependency 'transproc', '~> 1'
|
24
24
|
spec.add_development_dependency 'rspec', '~> 3'
|
25
25
|
spec.add_development_dependency 'rubocop', '~> 0.60'
|
data/docker/Dockerfile
CHANGED
@@ -0,0 +1,141 @@
|
|
1
|
+
{
|
2
|
+
"$schema": "http://json-schema.org/draft-06/schema#",
|
3
|
+
"$id": "https://raw.githubusercontent.com/bilby91/ddsl/master/docs/build.schema.json",
|
4
|
+
"title": "Build",
|
5
|
+
"description": "Build task to perform using either docker or docker-compose",
|
6
|
+
"type": "object",
|
7
|
+
"required": [
|
8
|
+
"name"
|
9
|
+
],
|
10
|
+
"oneOf": [
|
11
|
+
{
|
12
|
+
"$ref": "#/definitions/build_docker_options"
|
13
|
+
},
|
14
|
+
{
|
15
|
+
"$ref": "#/definitions/build_docker_compose_options"
|
16
|
+
}
|
17
|
+
],
|
18
|
+
"properties": {
|
19
|
+
"name": {
|
20
|
+
"type": "string",
|
21
|
+
"description": "Unique name to identify the build task."
|
22
|
+
}
|
23
|
+
},
|
24
|
+
"definitions": {
|
25
|
+
"build_docker_options": {
|
26
|
+
"type": "object",
|
27
|
+
"required": [
|
28
|
+
"type",
|
29
|
+
"context",
|
30
|
+
"file"
|
31
|
+
],
|
32
|
+
"properties": {
|
33
|
+
"type": {
|
34
|
+
"type": "string",
|
35
|
+
"enum": [
|
36
|
+
"docker"
|
37
|
+
],
|
38
|
+
"description": "Type of builder to use"
|
39
|
+
},
|
40
|
+
"context": {
|
41
|
+
"type": "string",
|
42
|
+
"description": "Path for the `docker build` context"
|
43
|
+
},
|
44
|
+
"file": {
|
45
|
+
"type": "string",
|
46
|
+
"description": "Path to the Dockerfile to build"
|
47
|
+
},
|
48
|
+
"build_args": {
|
49
|
+
"type": "object",
|
50
|
+
"additionalProperties": {
|
51
|
+
"type": "string"
|
52
|
+
},
|
53
|
+
"description": "Set build-time variables"
|
54
|
+
},
|
55
|
+
"tags": {
|
56
|
+
"type": "array",
|
57
|
+
"items": {
|
58
|
+
"type": "string"
|
59
|
+
},
|
60
|
+
"description": "Name and optionally a tag in the ‘name:tag’ format"
|
61
|
+
},
|
62
|
+
"labels": {
|
63
|
+
"type": "array",
|
64
|
+
"items": {
|
65
|
+
"type": "string"
|
66
|
+
},
|
67
|
+
"description": "Set metadata for an image"
|
68
|
+
},
|
69
|
+
"cache_from": {
|
70
|
+
"type": "array",
|
71
|
+
"items": {
|
72
|
+
"type": "string"
|
73
|
+
},
|
74
|
+
"description": "Images to consider as cache sources"
|
75
|
+
},
|
76
|
+
"push": {
|
77
|
+
"type": "boolean",
|
78
|
+
"description": "If true, push any configured tag to the appropiate registry"
|
79
|
+
},
|
80
|
+
"pull": {
|
81
|
+
"type": "boolean",
|
82
|
+
"description": "If true, all images specified in `cache_from` will be pulled before building"
|
83
|
+
}
|
84
|
+
}
|
85
|
+
},
|
86
|
+
"build_docker_compose_options": {
|
87
|
+
"type": "object",
|
88
|
+
"required": [
|
89
|
+
"type"
|
90
|
+
],
|
91
|
+
"properties": {
|
92
|
+
"type": {
|
93
|
+
"type": "string",
|
94
|
+
"enum": [
|
95
|
+
"docker-compose"
|
96
|
+
],
|
97
|
+
"description": "Type of builder to use"
|
98
|
+
},
|
99
|
+
"file": {
|
100
|
+
"type": "string",
|
101
|
+
"description": "Path to the docker-compose file"
|
102
|
+
},
|
103
|
+
"service": {
|
104
|
+
"type": "string",
|
105
|
+
"description": "Name of the docker-compose service to build"
|
106
|
+
},
|
107
|
+
"no_cache": {
|
108
|
+
"type": "boolean",
|
109
|
+
"description": "Do not use cache when building the image"
|
110
|
+
},
|
111
|
+
"pull": {
|
112
|
+
"type": "boolean",
|
113
|
+
"description": "Always attempt to pull a newer version of the image"
|
114
|
+
},
|
115
|
+
"force_rm": {
|
116
|
+
"type": "boolean",
|
117
|
+
"description": "Always remove intermediate containers"
|
118
|
+
},
|
119
|
+
"compress": {
|
120
|
+
"type": "boolean",
|
121
|
+
"description": "Compress the build context using gzip"
|
122
|
+
},
|
123
|
+
"parallel": {
|
124
|
+
"type": "boolean",
|
125
|
+
"description": "Build images in parallel"
|
126
|
+
},
|
127
|
+
"memory": {
|
128
|
+
"type": "string",
|
129
|
+
"description": "Sets memory limit for the build container."
|
130
|
+
},
|
131
|
+
"build_args": {
|
132
|
+
"type": "object",
|
133
|
+
"additionalProperties": {
|
134
|
+
"type": "string"
|
135
|
+
},
|
136
|
+
"description": "Set build-time variables for services"
|
137
|
+
}
|
138
|
+
}
|
139
|
+
}
|
140
|
+
}
|
141
|
+
}
|
@@ -0,0 +1,383 @@
|
|
1
|
+
|
2
|
+
# Build Schema
|
3
|
+
|
4
|
+
```
|
5
|
+
https://raw.githubusercontent.com/bilby91/ddsl/master/docs/build.schema.json
|
6
|
+
```
|
7
|
+
|
8
|
+
Build task to perform using either docker or docker-compose
|
9
|
+
|
10
|
+
| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Defined In |
|
11
|
+
|----------|------------|--------|--------------|-------------------|-----------------------|------------|
|
12
|
+
| Can be instantiated | Yes | Experimental | No | Forbidden | Permitted | [build.schema.json](build.schema.json) |
|
13
|
+
|
14
|
+
# Build Properties
|
15
|
+
|
16
|
+
| Property | Type | Required | Defined by |
|
17
|
+
|----------|------|----------|------------|
|
18
|
+
| [name](#name) | `string` | **Required** | Build (this schema) |
|
19
|
+
| `*` | any | Additional | this schema *allows* additional properties |
|
20
|
+
|
21
|
+
## name
|
22
|
+
|
23
|
+
Unique name to identify the build task.
|
24
|
+
|
25
|
+
`name`
|
26
|
+
|
27
|
+
* is **required**
|
28
|
+
* type: `string`
|
29
|
+
* defined in this schema
|
30
|
+
|
31
|
+
### name Type
|
32
|
+
|
33
|
+
|
34
|
+
`string`
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
# Build Definitions
|
43
|
+
|
44
|
+
| Property | Type | Group |
|
45
|
+
|----------|------|-------|
|
46
|
+
| [build_args](#build_args) | `object` | `https://raw.githubusercontent.com/bilby91/ddsl/master/docs/build.schema.json#/definitions/build_docker_compose_options` |
|
47
|
+
| [cache_from](#cache_from) | `string[]` | `https://raw.githubusercontent.com/bilby91/ddsl/master/docs/build.schema.json#/definitions/build_docker_options` |
|
48
|
+
| [compress](#compress) | `boolean` | `https://raw.githubusercontent.com/bilby91/ddsl/master/docs/build.schema.json#/definitions/build_docker_compose_options` |
|
49
|
+
| [context](#context) | `string` | `https://raw.githubusercontent.com/bilby91/ddsl/master/docs/build.schema.json#/definitions/build_docker_options` |
|
50
|
+
| [file](#file) | `string` | `https://raw.githubusercontent.com/bilby91/ddsl/master/docs/build.schema.json#/definitions/build_docker_compose_options` |
|
51
|
+
| [force_rm](#force_rm) | `boolean` | `https://raw.githubusercontent.com/bilby91/ddsl/master/docs/build.schema.json#/definitions/build_docker_compose_options` |
|
52
|
+
| [labels](#labels) | `string[]` | `https://raw.githubusercontent.com/bilby91/ddsl/master/docs/build.schema.json#/definitions/build_docker_options` |
|
53
|
+
| [memory](#memory) | `string` | `https://raw.githubusercontent.com/bilby91/ddsl/master/docs/build.schema.json#/definitions/build_docker_compose_options` |
|
54
|
+
| [no_cache](#no_cache) | `boolean` | `https://raw.githubusercontent.com/bilby91/ddsl/master/docs/build.schema.json#/definitions/build_docker_compose_options` |
|
55
|
+
| [parallel](#parallel) | `boolean` | `https://raw.githubusercontent.com/bilby91/ddsl/master/docs/build.schema.json#/definitions/build_docker_compose_options` |
|
56
|
+
| [pull](#pull) | `boolean` | `https://raw.githubusercontent.com/bilby91/ddsl/master/docs/build.schema.json#/definitions/build_docker_compose_options` |
|
57
|
+
| [push](#push) | `boolean` | `https://raw.githubusercontent.com/bilby91/ddsl/master/docs/build.schema.json#/definitions/build_docker_options` |
|
58
|
+
| [service](#service) | `string` | `https://raw.githubusercontent.com/bilby91/ddsl/master/docs/build.schema.json#/definitions/build_docker_compose_options` |
|
59
|
+
| [tags](#tags) | `string[]` | `https://raw.githubusercontent.com/bilby91/ddsl/master/docs/build.schema.json#/definitions/build_docker_options` |
|
60
|
+
| [type](#type) | `enum` | `https://raw.githubusercontent.com/bilby91/ddsl/master/docs/build.schema.json#/definitions/build_docker_compose_options` |
|
61
|
+
|
62
|
+
## build_args
|
63
|
+
|
64
|
+
Set build-time variables for services
|
65
|
+
|
66
|
+
`build_args`
|
67
|
+
|
68
|
+
* is optional
|
69
|
+
* type: `object`
|
70
|
+
* defined in this schema
|
71
|
+
|
72
|
+
### build_args Type
|
73
|
+
|
74
|
+
|
75
|
+
`object` with following properties:
|
76
|
+
|
77
|
+
|
78
|
+
| Property | Type | Required |
|
79
|
+
|----------|------|----------|
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
|
86
|
+
## cache_from
|
87
|
+
|
88
|
+
Images to consider as cache sources
|
89
|
+
|
90
|
+
`cache_from`
|
91
|
+
|
92
|
+
* is optional
|
93
|
+
* type: `string[]`
|
94
|
+
* defined in this schema
|
95
|
+
|
96
|
+
### cache_from Type
|
97
|
+
|
98
|
+
|
99
|
+
Array type: `string[]`
|
100
|
+
|
101
|
+
All items must be of the type:
|
102
|
+
`string`
|
103
|
+
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
## compress
|
114
|
+
|
115
|
+
Compress the build context using gzip
|
116
|
+
|
117
|
+
`compress`
|
118
|
+
|
119
|
+
* is optional
|
120
|
+
* type: `boolean`
|
121
|
+
* defined in this schema
|
122
|
+
|
123
|
+
### compress Type
|
124
|
+
|
125
|
+
|
126
|
+
`boolean`
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
|
132
|
+
## context
|
133
|
+
|
134
|
+
Path for the `docker build` context
|
135
|
+
|
136
|
+
`context`
|
137
|
+
|
138
|
+
* is optional
|
139
|
+
* type: `string`
|
140
|
+
* defined in this schema
|
141
|
+
|
142
|
+
### context Type
|
143
|
+
|
144
|
+
|
145
|
+
`string`
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
## file
|
154
|
+
|
155
|
+
Path to the docker-compose file
|
156
|
+
|
157
|
+
`file`
|
158
|
+
|
159
|
+
* is optional
|
160
|
+
* type: `string`
|
161
|
+
* defined in this schema
|
162
|
+
|
163
|
+
### file Type
|
164
|
+
|
165
|
+
|
166
|
+
`string`
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
|
174
|
+
## force_rm
|
175
|
+
|
176
|
+
Always remove intermediate containers
|
177
|
+
|
178
|
+
`force_rm`
|
179
|
+
|
180
|
+
* is optional
|
181
|
+
* type: `boolean`
|
182
|
+
* defined in this schema
|
183
|
+
|
184
|
+
### force_rm Type
|
185
|
+
|
186
|
+
|
187
|
+
`boolean`
|
188
|
+
|
189
|
+
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
## labels
|
194
|
+
|
195
|
+
Set metadata for an image
|
196
|
+
|
197
|
+
`labels`
|
198
|
+
|
199
|
+
* is optional
|
200
|
+
* type: `string[]`
|
201
|
+
* defined in this schema
|
202
|
+
|
203
|
+
### labels Type
|
204
|
+
|
205
|
+
|
206
|
+
Array type: `string[]`
|
207
|
+
|
208
|
+
All items must be of the type:
|
209
|
+
`string`
|
210
|
+
|
211
|
+
|
212
|
+
|
213
|
+
|
214
|
+
|
215
|
+
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
|
220
|
+
## memory
|
221
|
+
|
222
|
+
Sets memory limit for the build container.
|
223
|
+
|
224
|
+
`memory`
|
225
|
+
|
226
|
+
* is optional
|
227
|
+
* type: `string`
|
228
|
+
* defined in this schema
|
229
|
+
|
230
|
+
### memory Type
|
231
|
+
|
232
|
+
|
233
|
+
`string`
|
234
|
+
|
235
|
+
|
236
|
+
|
237
|
+
|
238
|
+
|
239
|
+
|
240
|
+
|
241
|
+
## no_cache
|
242
|
+
|
243
|
+
Do not use cache when building the image
|
244
|
+
|
245
|
+
`no_cache`
|
246
|
+
|
247
|
+
* is optional
|
248
|
+
* type: `boolean`
|
249
|
+
* defined in this schema
|
250
|
+
|
251
|
+
### no_cache Type
|
252
|
+
|
253
|
+
|
254
|
+
`boolean`
|
255
|
+
|
256
|
+
|
257
|
+
|
258
|
+
|
259
|
+
|
260
|
+
## parallel
|
261
|
+
|
262
|
+
Build images in parallel
|
263
|
+
|
264
|
+
`parallel`
|
265
|
+
|
266
|
+
* is optional
|
267
|
+
* type: `boolean`
|
268
|
+
* defined in this schema
|
269
|
+
|
270
|
+
### parallel Type
|
271
|
+
|
272
|
+
|
273
|
+
`boolean`
|
274
|
+
|
275
|
+
|
276
|
+
|
277
|
+
|
278
|
+
|
279
|
+
## pull
|
280
|
+
|
281
|
+
Always attempt to pull a newer version of the image
|
282
|
+
|
283
|
+
`pull`
|
284
|
+
|
285
|
+
* is optional
|
286
|
+
* type: `boolean`
|
287
|
+
* defined in this schema
|
288
|
+
|
289
|
+
### pull Type
|
290
|
+
|
291
|
+
|
292
|
+
`boolean`
|
293
|
+
|
294
|
+
|
295
|
+
|
296
|
+
|
297
|
+
|
298
|
+
## push
|
299
|
+
|
300
|
+
If true, push any configured tag to the appropiate registry
|
301
|
+
|
302
|
+
`push`
|
303
|
+
|
304
|
+
* is optional
|
305
|
+
* type: `boolean`
|
306
|
+
* defined in this schema
|
307
|
+
|
308
|
+
### push Type
|
309
|
+
|
310
|
+
|
311
|
+
`boolean`
|
312
|
+
|
313
|
+
|
314
|
+
|
315
|
+
|
316
|
+
|
317
|
+
## service
|
318
|
+
|
319
|
+
Name of the docker-compose service to build
|
320
|
+
|
321
|
+
`service`
|
322
|
+
|
323
|
+
* is optional
|
324
|
+
* type: `string`
|
325
|
+
* defined in this schema
|
326
|
+
|
327
|
+
### service Type
|
328
|
+
|
329
|
+
|
330
|
+
`string`
|
331
|
+
|
332
|
+
|
333
|
+
|
334
|
+
|
335
|
+
|
336
|
+
|
337
|
+
|
338
|
+
## tags
|
339
|
+
|
340
|
+
Name and optionally a tag in the ‘name:tag’ format
|
341
|
+
|
342
|
+
`tags`
|
343
|
+
|
344
|
+
* is optional
|
345
|
+
* type: `string[]`
|
346
|
+
* defined in this schema
|
347
|
+
|
348
|
+
### tags Type
|
349
|
+
|
350
|
+
|
351
|
+
Array type: `string[]`
|
352
|
+
|
353
|
+
All items must be of the type:
|
354
|
+
`string`
|
355
|
+
|
356
|
+
|
357
|
+
|
358
|
+
|
359
|
+
|
360
|
+
|
361
|
+
|
362
|
+
|
363
|
+
|
364
|
+
|
365
|
+
## type
|
366
|
+
|
367
|
+
Type of builder to use
|
368
|
+
|
369
|
+
`type`
|
370
|
+
|
371
|
+
* is optional
|
372
|
+
* type: `enum`
|
373
|
+
* defined in this schema
|
374
|
+
|
375
|
+
The value of this property **must** be equal to one of the [known values below](#type-known-values).
|
376
|
+
|
377
|
+
### type Known Values
|
378
|
+
| Value | Description |
|
379
|
+
|-------|-------------|
|
380
|
+
| `docker-compose` | |
|
381
|
+
|
382
|
+
|
383
|
+
|