Various Docker Images for Building NodeJS, Java and Ansible artifacts
Versioning
We aimed to loosely follow semantic versioning (semver) to tag these docker images and use retagging to make container orchestration easier:
Version 1.2.3 is also matched by tags 1 and 1.2. Once 1.2.4 becomes available, they will be updated to match it, and so on. This is also the naming scheme of many official docker images.
All images share common base:
- Chromium
- Docker
- Common tools:
- wget
- Git Secret
- rsync
- curl
- nodejs/npm
- kubectl
- helm
- helmfile
- vCluster
- Testkube
- Cloud Clients for
- GCloud
- Azure
- AWS
- Database Clients for
- Postgres
- MS SQL
- MongoDB
For building these images Packer and Ansible are used.
- Set new version in
config.json
- Run release script:
.bin/release.sh
(Pushes the changes todevelop
branch). So wait for CI build, grab a coffee 😉 - Once complete, merge changes to
main
branch and wait for CI build - Once complete create a new tag:
v<VERSION>
and create a release on GitHub
==> docker.autogenerated_1: failed to handshake
docker.autogenerated_1: [WARNING]: Unhandled error in Python interpreter discovery for host default:
docker.autogenerated_1: Failed to connect to the host via ssh: Unable to negotiate with 127.0.0.1 port
docker.autogenerated_1: 60992: no matching host key type found. Their offer: ssh-rsa
==> docker.autogenerated_1: failed to handshake
Add this entry to .ssh/config
:
Host 127.0.0.1
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa