From 2ae8406a4ba5b813a6b0fb639eb8a03136c5474e Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Thu, 21 Jul 2022 11:41:01 +0400 Subject: [PATCH] maj doc dkbuild --- dkbuild | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/dkbuild b/dkbuild index b904b11..a061fac 100755 --- a/dkbuild +++ b/dkbuild @@ -164,8 +164,8 @@ Un fichier dkbuild est un script shell utilisé pour construire une ou plusieurs images docker. A cause de l'implémentation utilisée pour les directives, le fichier doit être -est parcouru (i.e exécuté) à de multiples reprises pour analyser les paramètres -et variables définis. il faut donc \"protéger\" les appels de scripts externes ou +parcouru (i.e exécuté) à de multiples reprises pour analyser les paramètres et +variables définis. il faut donc \"protéger\" les appels de scripts externes ou de fonctions gourmandes avec les commandes 'run' et 'call' pour éviter que ces commandes ne soient exécutées à plusieurs reprises. @@ -188,7 +188,7 @@ La première distribution listée est spéciale: c'est la distribution la plus récente, celle qui reçoit le tag :latest La commande 'dist' permet de tester si la distribution spécifiée en argument a -été sélectionnée par l'utilisateur. L'argument '#latest' permet de tester la +été sélectionnée par l'utilisateur. L'argument 'LATEST' permet de tester la dernière distribution. La commande 'version' permet de tester si la version spécifiée en argument a été @@ -208,6 +208,8 @@ Exemple: elif dist d9; then ... fi +NB: ici, la version 3.1 est listée après la version 3.0 pour que l'image +construite aie le tag :latest Note: 'setdists' ne doit être utilisé qu'une seule fois. Les invocations suivantes sont ignorées. @@ -223,7 +225,7 @@ script s'arrête avec une erreur. Le premier profil listé est spécial: c'est l profil par défaut. La commande 'profile' permet de tester si le profil spécifié en argument a été -sélectionné par l'utilisateur. L'argument '#default' permet de tester le profil +sélectionné par l'utilisateur. L'argument 'DEFAULT' permet de tester le profil par défaut. Exemple: @@ -358,7 +360,7 @@ est équivalent à: fi En phase d'analyse, ces commandes retournent faux, donc cmd1 et cmd2 ne seront -lancés qu'une seule fois lors de l'analyse du fichier. Cela signifie qu'il ne +lancés qu'une seule fois lors de l'invocation de dkbuild. Cela signifie qu'il ne faut pas utiliser des directives de définition de variables à l'intérieur. Par exemple, le script suivant ne produit pas forcément l'effet escompté: if run; then @@ -522,7 +524,7 @@ Par exemple: échoue si SRCDIR et/ou DESTDIR sont des fichiers * les commandes suivantes sont équivalentes: copy SRC DESTDIR/ - copy SRC DESTDIR/SRC + copy SRC DESTDIR/SRCNAME Les paramètres optionnels sont * copy @@ -546,7 +548,7 @@ Les paramètres optionnels sont USAGE: genfile OUTPUT [INPUT] [PARAMS] Si le fichier INPUT est spécifié, il est utilisé pour créer le contenu initial -du fichier. Sinon, l'entrée standard doit être redirigée depuis un fichier, et +du fichier. Sinon, l'entrée standard *doit* être redirigée depuis un fichier, et elle est lue pour générer le contenu initial du fichier à générer. Les paramètres optionnels sont @@ -560,7 +562,7 @@ Les paramètres optionnels sont USAGE: dockerfile [OUTPUT [INPUT]] [PARAMS] Si le fichier INPUT est spécifié, il est utilisé pour créer le contenu initial -du fichier. Sinon, si l'entrée standard est redirigée depuis un fichier, elle +du fichier. Sinon, *si* l'entrée standard est redirigée depuis un fichier, elle est lue pour générer le contenu initial du fichier. Les paramètres optionnels sont @@ -635,9 +637,9 @@ Les actions valides sont * shell -- lancer un shell utilisateur dans le répertoire du projet * none -- ne rien faire -L'action est exécutée sur DESTDIR qui vaut par défaut le répertoire courant. -Juste avant de lancer l'action, le répertoire courant est modifié pour être -DESTDIR, ce qui permet d'utiliser des chemins relatifs le cas échéant. +L'action est exécutée sur DESTDIR. Juste avant de lancer l'action, le répertoire +courant est modifié pour être DESTDIR, ce qui permet d'utiliser des chemins +relatifs le cas échéant. La commande 'rshell' lance un shell bash avec l'utilisateur root au lieu de lancer la commande composer, ce qui permet de faire des opérations plus @@ -694,7 +696,7 @@ Les paramètres optionnels sont liste de commandes à lancer pour configurer le container. Un container ayant pour base COMPOSER_IMAGE et nommé d'après le nom du projet est préparé et les commandes spécifiées y sont lancées. Ce container est réutilisé à chaque fois. - Ce paramétrage est utilisé pour par exemple installer certains packages + Ce paramétrage est utilisé par exemple pour installer certains packages nécessaire au projet. * project-name=PROJECT_NAME si setup= est défini, nommer l'image sur la base de ce nom. par défaut, le nom @@ -725,9 +727,9 @@ Les actions valides sont * java -- lancer java au lieu de lancer mvn. il est possible de spécifier la version de java directement, e.g java7, java8, java11 -L'action est exécutée sur DESTDIR qui vaut par défaut le répertoire courant. -Juste avant de lancer l'action, le répertoire courant est modifié pour être -DESTDIR, ce qui permet d'utiliser des chemins relatifs le cas échéant. +L'action est exécutée sur DESTDIR. Juste avant de lancer l'action, le répertoire +courant est modifié pour être DESTDIR, ce qui permet d'utiliser des chemins +relatifs le cas échéant. La commande 'rshell' lance un shell bash avec l'utilisateur root au lieu de lancer la commande mvn, ce qui permet de faire des opérations plus complexes si @@ -765,7 +767,7 @@ Les paramètres optionnels sont liste de commandes à lancer pour configurer le container. Un container ayant pour base MAVEN_IMAGE et nommé d'après le nom du projet est préparé et les commandes spécifiées y sont lancées. Ce container est réutilisé à chaque fois. - Ce paramétrage est utilisé pour par exemple installer certains packages + Ce paramétrage est utilisé par exemple pour installer certains packages nécessaire au projet. * project-name=PROJECT_NAME si setup= est défini, nommer l'image sur la base de ce nom. par défaut, le nom @@ -1066,7 +1068,7 @@ function define_functions_env() { function dist() { local dist version for dist in "$@"; do - [ "$dist" == "#latest" ] && dist="${SETDISTS[0]}" + [ "$dist" == LATEST ] && dist="${SETDISTS[0]}" parse_dist "$dist" dist version [ "$dist" == "$DIST" ] || continue [ -z "$version" -o "$version" == "$DVERSION" ] || continue @@ -1084,7 +1086,7 @@ function define_functions_env() { function profile() { local profile version for profile in "$@"; do - [ "$profile" == "#default" ] && profile="${SETPROFILES[0]}" + [ "$profile" == DEFAULT ] && profile="${SETPROFILES[0]}" parse_profile "$profile" profile version [ "$profile" == "$PROFILE" ] || continue [ -z "$version" -o "$version" == "$PVERSION" ] || continue @@ -1748,9 +1750,9 @@ function define_functions_cmd() { done if [ -n "$autotag" ]; then if [ -n "$DIST" ]; then - dist "#latest" && imagetags+=("$imagetag:latest") + dist LATEST && imagetags+=("$imagetag:latest") elif [ -n "$PROFILE" ]; then - profile "#default" && imagetags+=("$imagetag:latest") + profile DEFAULT && imagetags+=("$imagetag:latest") else imagetags+=("$imagetag:latest") fi