Skip to content

Latest commit

 

History

History
64 lines (42 loc) · 1.81 KB

MAINTAINING.md

File metadata and controls

64 lines (42 loc) · 1.81 KB

How to use and maintain this project

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 via Makefile.

Updating

To update versions of images following steps are required:

  1. Update all required versions in Makefile.
  2. Update all required versions in README.md.
  3. If you need to modify some Dockerfiles then do it via editing Dockerfile.template.erb template.
  4. Regenerate all Dockerfiles and their context (it's okay to remove previous ones completely):
    make src-all
  5. If Dockerfiles 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 to master branch.
  6. Push changes to master branch.

Testing

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.

Manual release

It's still possible to build, tag and push images manually. Just use:

make release-all

It will build all existing Dockerfiles, tag them with proper tags (as README.md requires) and push them to Docker Hub.