Update README.md

This commit is contained in:
Nicco 2019-12-22 19:49:51 +01:00 committed by GitHub
parent 2124220e02
commit b9c3fff5d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

102
README.md
View File

@ -1,2 +1,104 @@
# tumbo
Docker matrix build generator
```yaml
variables:
my_var:
- a
- b
- c
some_other:
- 0.1.0
- 0.1.2
context: ./build
recipe: './Dockerfile.j2'
tag: "my-tag:{{ my_var }}-{{ some_other }}"
parallel: no
# no
# yes : uses all threads available
# n : number of threads to use
# default: yes
push: yes
run: yes
registry:
username: my_user
password: my_pass
host: my_host
```
### Config Reference
#### Variables
The variables to build the matrix. Simply specify an array for each variable. They will be available in the template.
```yaml
variables:
my_var:
- a
- b
- c
some_other:
- 0.1.0
- 0.1.2
```
#### Recipe
The template to compile the dockerfile. Can be a template itself if you don't want to write everything in the same file.
###### Simple
```yaml
recipe: './Dockerfile.j2'
```
###### Template
```yaml
variables:
my_var:
- a
- b
recipe: './{{ my_var }}.j2'
```
Assuming `my_var` hast the values `a` and `b` it will render to `./a.j2` and `./b.j2` accordingly.
#### Context (Optional)
**Default:** directory of the config file.
Specify the directory where the templates and the dockerfiles will be built.
Supports both absolute and relative paths.
```yaml
context: ./build
```
#### Tag (Optional)
**Default:** Creates a tag that includes all variables.
In most cases it will not be necessary to specify, but can be usefull if your are pushing images. Supports templating of course.
**Important:** The tag should be unique across the matrix, otherwise you will overwrite other tags. So always include all the variables you specified inside the image name
```yaml
variables:
var1:
- a
- b
var2:
- a
- b
var3:
- a
- b
tag: 'my-image-name:{{ var3 }}-{{ var1 }}-{{ var2 }}'
```