/ods-docker-images

Create docker images needed in pipelines

Primary LanguageShellApache License 2.0Apache-2.0

ods-docker-images

Create docker images needed in pipelines and publish them in Docker Hub.

Modules

Every subfolder of the root project is a module that will generate X Docker images in DockerHub

Versioning

Following the Semantic Versioning. We have two options:

  • Create a version of the entire project / Tag the 'entire' project
  • Create a version of a module / Tag 'only' a 'module'

Publish images to DockerHub

Once a TAG is pushed, a GitHub action is executed if the tag matches a regular expression:

  • "v[0-9]+.[0-9]+.[0-9]+" ==> this will PUBLISH a new Docker image for all modules.
  • "v[0-9]+.[0-9]+.[0-9]+-moduleName.*" ==> this will PUBLISH a new Docker image for the "moduleName".

Examples:

  • v1.0.0 ==> this will PUBLISH a new Docker image for all modules, with the tags: [v1.0.0, latest]
  • v1.0.0-python.1 ==> this will PUBLISH a new Docker image for "python" module, with the tags: [v1.0.0-python.1, latest]

See https://github.com/opendevstack/ods-docker-images/blob/main/.github/workflows/ci-acala.yml as an example of the CI

PR Pipeline

A PR pipeline (check) will only test the modules with changed files (test = build local docker images)