Skip to content

Versions ​

Ce qui tourne, dans quelle version, et si cette version est fixée (elle ne change que si on la modifie) ou mobile (elle suit les nouvelles versions à chaque reconstruction).

Les machines ​

ComposantVersionFixée ?Défini dans
SystèmeUbuntu 24.04 LTSOuiCréation des VM (--image-family=ubuntu-2404-lts-amd64)
Docker Enginedernière version stable du dépôt DockerNonRôle docker (docker-ce)
Binaire docker-composedernière version publiéeNonRôle docker (latest/download)
Plugin docker composecelui installé avec DockerNonDépôt Docker

Les conteneurs de production ​

ComposantImageFixée ?Défini dans
Traefiktraefik:v3.3Version mineuretraefik/docker-compose.yml
PostgreSQLpostgres:17-alpineVersion majeureapp/docker-compose.yml
Site webghcr.io/saliehsab/timemanager-web:latestNon (dernier build de main)app/docker-compose.yml
APIghcr.io/saliehsab/timemanager-api:latestNon (dernier build de main)app/docker-compose.yml
Documentationghcr.io/saliehsab/timemanager-docs:latestNon (dernier build de main)app/docker-compose.yml

La construction des images ​

ComposantVersionFixée ?Défini dans
Node.js (build du site)node:22-slimVersion majeuretimemanager-web/Dockerfile
nginx (site et doc)nginxinc/nginx-unprivileged:stable-alpineNon (branche stable)timemanager-web/Dockerfile, timemanager-docs/Dockerfile
VitePress (doc)1.6.4Ouitimemanager-docs/package.json
Elixir1.17.3Ouitimemanager-api/Dockerfile
Erlang/OTP26.2.5.16Ouitimemanager-api/Dockerfile
Debian (API)trixie-20260610-slimOuitimemanager-api/Dockerfile

Les outils de CI/CD ​

ComposantVersionFixée ?Défini dans
Jenkinsjenkins/jenkins:ltsNon (dernière LTS)jenkins/Dockerfile
Plugins Jenkinssans versionNonjenkins/Plugins/plugins.txt
Trivyaquasec/trivy:0.74.0Ouijenkins/pipelines/*.groovy
PostgreSQL de testpostgres:17-alpineVersion majeurejenkins/pipelines/backend.groovy

Les applications ​

ComposantVersionDéfini dans
Phoenix1.8.14timemanager-api/mix.lock
Ecto SQL3.14.0timemanager-api/mix.lock
Bandit (serveur HTTP)1.12.5timemanager-api/mix.lock
Swoosh (emails)1.28.1timemanager-api/mix.lock
Vue3.5timemanager-web/package-lock.json
Vite8timemanager-web/package-lock.json
Expo (mobile)SDK 57timemanager-mobile/package.json
React Native (mobile)0.86timemanager-mobile/package.json

Fixer une version

Une version mobile peut changer à la prochaine reconstruction sans que personne ne l'ait décidé. Pour la fixer, écrire la version exacte : jenkins/jenkins:2.xxx.x-lts, plugin:1.2.3 dans plugins.txt, traefik:v3.3.x. Voir Limites et améliorations.

Vérifier ce qui tourne ​

bash
# sur une VM
lsb_release -d
docker version --format '{{.Server.Version}}'
docker compose version

# les images des conteneurs
docker ps --format 'table {{.Names}}\t{{.Image}}'
docker inspect timemanager-back --format '{{.Image}}'