Skip to content

Latest commit

 

History

History
44 lines (35 loc) · 2.15 KB

ex02.md

File metadata and controls

44 lines (35 loc) · 2.15 KB

Exercice #2

But de l'exercice : Utilisation des variables d'environnement

TODO

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> .

Contraintes

  • 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

Un indice chez vous !

$ export BRANCH=/ref/head/test
$ echo ${BRANCH#/ref/head/}
  test

Documentation

La bible des actions github se trouve ici : https://help.github.com/en/github/automating-your-workflow-with-github-actions

Liste des exercices

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)