Check https://github.com/anduintransaction/doriath/releases
- Create a
doriath.yml
file in your project doriath dryrun
to check for build steps and possible errorsdoriath build
to build all docker images locallydoriath push
to push all images
root_dir: .
pull:
- "ubuntu:16.04"
- "centos:7"
build:
- name: "ubuntu"
tag: "16.04"
from: "provided"
- name: "human/aragorn"
from: "./human/aragorn"
tag: "1.2.0"
depend: "elf/elrond"
- name: "elf/arwen"
from: "./elf/arwen"
tag: "3.1.4"
depend: "elf/elrond"
- name: "wizard/gandalf"
from: "./wizard/gandalf"
tag: "0.5.2"
- name: "elf/elrond"
from: "./elf/elrond"
tag: "2.1.0"
depend: "ubuntu"
pre_build: "./init-elrond.sh" // Run this script file before building image
post_build: "./finalize-elrond.sh" // Run this script file after building image
force_build: true // Always build and push this image, skip checking for existance from registry
push_latest: true // also push this tag as "latest"
credentials:
- name: dockerhub
username: "$YOUR_USERNAME" // Use environment variable
password: "${YOUR_PASSWORD}" // Here too
- name: gcr.io
registry: "https://gcr.io/v2/"
username: "_json_key"
password_file: "credential.json" // Use password from a file content
The config file supports go-template syntax. For example:
root_dir: .
build:
- name: "my-image"
tag: "{{.myImageTag}}"
from: "./my-image"
Then you can pass the value of myImageTag
from command line:
doriath build --variable myImageTag=2.1
Or using variable file:
doriath build --variableFile varFile
Sample varFile:
myImageTag=2.1