Base images for Python projects deployed on Divio Cloud.
To locally build an image, run the following command:
./build.py --repo divio/base --tag 0.00-py3.6-alpine3.7 build
To build for a different architecture than your machine's one, set the [DOCKER_DEFAULT_PLATFORM]{.title-ref} environment variable:
DOCKER_DEFAULT_PLATFORM=linux/arm64 ./build.py --repo divio/base --tag 1.1-py3.11-slim-bullseye build
Check ./build.py --help
for additional information.
You can build and test all, or specified, images locally by running:
# test all images
make test
# only test specific images
make test IMAGES="py3.12-alpine3.19 py3.11-slim-bookworm"
Tag commits with the desired Docker image tag, in the form:
git tag <version>-<flavour>
For your convenience, the release.py
script can be used to streamline the tagging
operations:
./release.py versions --next=minor py*
The command outputs the new tags which would be applied to the repository. Once asserted the result
is correct, re-run the command with the --tag
flag:
./release.py versions --next=minor --tag py*
Then push the tags to Gitlab to trigger an automatic build:
git push --tags origin
You can also selectively push only the last tags created for given flavors via the release.py
script:
./release.py versions --last --push=origin py*
Add a directory at the root containing an appropriate Dockerfile
. The image will be
tagged as divio/base:<version>-<directory-name>
.
To mark an image as EOL, just rename its folder by adding the EOL-
prefix.