All operations are automated as much as possible.
- Images and description on Docker Hub will be automatically rebuilt on pushes to
master
branch and on updates of parent Docker images. - Travis CI is used only for tests.
- Generation of each
Dockerfile
and its context is automated viaMakefile
.
To update versions of images following steps are required:
- Update all required versions in
Makefile
(ALL_IMAGES
matrix). - Update all required versions in
README.md
. - If you need to modify some
Dockerfile
s then do it via editingDockerfile.tmpl.php
template. - Regenerate all
Dockerfile
s and their context (it's okay to remove previous ones completely):make src-all
- If
Dockerfile
s layout was changed somehow (major version change, for example), you should check build triggers on Docker Hub and Travis CI configuration, modify them as required BEFORE push tomaster
branch. - Push changes to
master
branch.
To run tests for all possible image versions, just do:
make test-all prepare-images=yes
It will build images for each Dockerfile
and run those images against /test/suite.bats
.
It's still possible to build, tag and push images manually. Just use:
make release-all
It will build all existing Dockerfile
s, tag them with proper tags (as README.md
requires) and push them to Docker Hub.