Skip to content
This repository has been archived by the owner on Apr 16, 2021. It is now read-only.

Latest commit

 

History

History
58 lines (33 loc) · 1.79 KB

HOWTO.md

File metadata and controls

58 lines (33 loc) · 1.79 KB

How to use and maintain this repository

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 (ALL_IMAGES matrix).
  2. Update all required versions in README.md.
  3. If you need to modify some Dockerfiles then do it via editing Dockerfile.tmpl.php 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.