-
Notifications
You must be signed in to change notification settings - Fork 65
Project goals
Version: G3v2
Updated: 2022-11-04
The main project goal is to develop a free, simple and self-containing CI/CD pipeline for building sets of configurable Docker images with minimal dependencies outside the project itself.
-
Images should be re-built and re-published only if something essential has changed.
-
It should be possible to enforce or disable the re-building and re-publishing.
-
New releases of the essential parts of the images should be auto-detected.
-
Embedded image metadata (labels) should be up-to-date.
-
Up-to-date metadata should be also available outside the images.
-
Sets of images should be built from fewer, but more flexible Dockerfiles.
-
Dockerfiles and the images should be less dependent on each other.
-
Readme files for the GitHub and the Docker Hub repositories should be separated.
-
Readme files for the GitHub repository can be long and they should not require any processing before publishing.
-
Readme files for the Docker Hub repository should be below the limit of 25000 characters and they can require some processing before publishing.
-
Readme file templates should be supported.
-
Readme file composition should be supported.
-
Publishing of readme files should be separated from the building of images.
-
It should be possible to update the readme files with the up-to-date metadata before publishing them to the Docker Hub.
-
It should be possible to re-publish the readme files without re-building the images.
-
The same building code should be used for building the images on all stages, including the local one.
-
By building locally, it should be possible to execute the complete building pipeline or only a part of it.
-
It should be possible to test and to debug the complete building pipeline locally.
-
Building pipeline should support the stages that support CI/CD (e.g. the GitLab).
-
Automated building should minimize dependencies on external resources.
-
Automated building should not depend on paid resources.
- Using private GitHub and Docker Hub repositories should be supported.
-
Development, debugging and building on Linux and Windows should be supported.
-
Only Linux containers should be supported.