But de l'exercice : Utilisation des variables d'environnement
Maintenant que votre application est correctement buildée, je vous invite à utiliser le Dockerfile
présent dans le repo pour créer une image de votre application.
Pour cela, vous disposez encore içi de plusieurs méthodes :
- Utiliser une action externe
- Utiliser le docker présent en natif sur la VM
Il existait auparavant des actions docker cli
, mais celles-ci ont été dépréciées et supprimées pour favoriser l'utilisation du docker natif.
Partons donc dans cette optique.
Pour rappel, on builde une image docker via la commande :
docker build -t <repo>/<image>:<tag> -f <dockerfile_name> .
-
Registre docker :
docker.io
-
Espace de nom docker :
xebxke
(vous comprendrez pourquoi à l'exercice suivant) -
Nom d'image : à votre convenance (hello-world, cactus, whatever...)
-
Tag de l'image : concaténation du nom de votre branche (seule la dernière partie) et du hash de votre commit git, par exemple
-
Bien évidemment, le nom de la branche ne doit pas être indiqué en dur, ca serait moche :)
On aura donc quelque chose du genre
docker.io/xebxke/wonderfulimage:guillaumeL-xab524515as
$ export BRANCH=/ref/head/test
$ echo ${BRANCH#/ref/head/}
test
La bible des actions github se trouve ici : https://help.github.com/en/github/automating-your-workflow-with-github-actions
Readme : Présentation de l'exercice
Exercice 1 : Construction de l'application (concepts : build natif & build docker, restrictions de build)
Exercice 2 : Création d'une image docker (concepts : utilisation des variables d'environnement)
Exercice 3 : Publication de l'image sur un registre docker (concepts : création et utilisation de secrets)
Exercice 4 : Affichage d'une notification dans Slack (concepts : création & utilisation d'une action, utilisation des outputs)
Exercice 5 : Construction de l'application avec de multiples versions de nodejs (concepts : utilisation des stratégies matricielles)