etalab / transport-ops

Scripts and config files for provision and deploy transport and required services
MIT License
2 stars 2 forks source link

Automatiser la recréation de l'image en vigueur #45

Open thbar opened 2 years ago

thbar commented 2 years ago

L'image de départ utilisée en production est spécifiée ici:

https://github.com/etalab/transport-site/blob/b06638a7623718dfbca21cbee25c6d5f425bc375/Dockerfile#L1

Dans https://github.com/etalab/transport-site/pull/2406, j'ai mis en place le scan de cette image via Trivy de façon hebdomadaire.

Nous pouvons ensuite aller à l'étape suivante, qui consiste à reconstruire cette même référence et à la re-publier.

Il faut pour cela:

  1. Déterminer la bonne façon de re-déclencher une construction (pas depuis master, mais depuis le bon point de référence qui a servi à créer la release)
  2. Avoir un processus automatisé de qualité suffisante pour pouvoir asserter que l'image sera fonctionnelle (car une fois que l'image est republiée sous la même référence, le prochain déploiement de l'application se fera dessus)

Sur le point 2., j'ai déjà implémenté des checks, qui seront potentiellement suffisants:

https://github.com/etalab/transport-ops/blob/d5195b5e418c7e71fbfcb1e2731710a3cf0179dc/.github/workflows/docker.yml#L62-L70

Je crée le ticket pour noter l'idée, et je vais aller mettre à jour autrement pour aujourd'hui, à savoir en créant une nouvelle image.

thbar commented 2 years ago

Notes supplémentaires pour la vérification automatisée :

thbar commented 2 years ago

Tests en cours avec le workflow_dispatch event trigger.

thbar commented 2 years ago

Ca fonctionne bien, j'ai pu reconstruire l'image, capturé vite fait en vidéo comme ça tout le monde pourra le faire:

https://user-images.githubusercontent.com/10141/201093548-65fa4f09-be68-4294-abf8-a10ec4bbd691.mp4

thbar commented 2 years ago

Prochaines étapes : s'inspirer de ça, trouver comment prendre "juste la latest" et redéclencher une fois par semaine pour avoir les patchs.