Skip to content

About

Icellmobilsoft base docker images

Resources

Code of conduct

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

docker-base dockerimages

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.

1. Project Structure

1.1. /dockerfile

It serves as a collector of Dockerfiles. The detailed description of the created Docker image can be found under the title FIXME[Docker Base Images].

1.2. /script

General scripts used by Docker images, but also usable standalone.

2. Development

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!

3. Release

Creating releases is handled by GitHub Actions. We basically handle 2 cases:

  1. Major, Minor version - main version release, can only originate from the master branch.

  2. Bugfix version - can only originate from a release branch.

The corresponding CI appears only on the appropriate branches.

4. Dependency updates

Base image versions in .env are updated by Renovate (configuration: renovate.json).

  • Managed: debian, alpine and eclipse-temurin images. 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.

4.1. Branches

  • main - PRs are created automatically.

  • release/* - PRs are created only after approval on the Dependency Dashboard.

4.2. 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.

About

Icellmobilsoft base docker images

Resources

Code of conduct

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages