The repository serves to collect the base Docker images used in icellmobilsoft so that the projects and their builds operate on a common basis.
The parts of the project can be divided into multiple sections, complementing each other. The images can basically be divided into 2 groups:
-
bases - These are the Docker images we use as base images for the target products. They can only contain the absolutely necessary functions and content.
-
builder - We use them for content delivery, and they should not be used as base images. Their function is for building, compiling, in multi-stage Dockerfiles, or even for GitLab runner usage.
All you need to know for this is the following command:
docker-compose -f <PATH>/docker-base/docker-compose.yml build|
Important
|
The release and docker push commands should be exclusively handled by GitHub Actions! |
Creating releases is handled by GitHub Actions. We basically handle 2 cases:
-
Major, Minor version - main version release, can only originate from the master branch.
-
Bugfix version - can only originate from a release branch.
The corresponding CI appears only on the appropriate branches.
Base image versions in .env are updated by Renovate (configuration: renovate.json).
-
Managed:
debian,alpineandeclipse-temurinimages. Major version updates are disabled. -
Pull requests: all base image updates are grouped into one PR (label:
dependencies). Merge only after a green CI build and review.
-
main- PRs are created automatically. -
release/*- PRs are created only after approval on the Dependency Dashboard.
Renovate keeps a single issue called Dependency Dashboard up to date. It lists:
-
open and pending updates for every processed branch,
-
updates waiting for approval (
release/*branches), -
errors and warnings from the last run.
To create a PR on a release branch, tick the checkbox of the update under Pending Approval. To rerun Renovate immediately, tick the rerun checkbox at the bottom of the issue.