ddsl 0.0.3 → 0.0.4
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/.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 | [](https://gitlab.com/bilby91/ddsl) |
|
63
85
|
| Circle CI | [](https://circleci.com/gh/bilby91/ddsl/tree/master) |
|
64
|
-
| Travis CI | [](https://travis-ci.com/bilby91/ddsl) |
|
86
|
+
| Travis CI | [](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
|
+
|