maj doc dkbuild
This commit is contained in:
parent
1db7d08e82
commit
2ae8406a4b
42
dkbuild
42
dkbuild
|
@ -164,8 +164,8 @@ Un fichier dkbuild est un script shell utilisé pour construire une ou plusieurs
|
||||||
images docker.
|
images docker.
|
||||||
|
|
||||||
A cause de l'implémentation utilisée pour les directives, le fichier doit être
|
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
|
parcouru (i.e exécuté) à de multiples reprises pour analyser les paramètres et
|
||||||
et variables définis. il faut donc \"protéger\" les appels de scripts externes ou
|
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
|
de fonctions gourmandes avec les commandes 'run' et 'call' pour éviter que ces
|
||||||
commandes ne soient exécutées à plusieurs reprises.
|
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
|
récente, celle qui reçoit le tag :latest
|
||||||
|
|
||||||
La commande 'dist' permet de tester si la distribution spécifiée en argument a
|
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.
|
dernière distribution.
|
||||||
|
|
||||||
La commande 'version' permet de tester si la version spécifiée en argument a été
|
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
|
elif dist d9; then
|
||||||
...
|
...
|
||||||
fi
|
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
|
Note: 'setdists' ne doit être utilisé qu'une seule fois. Les invocations
|
||||||
suivantes sont ignorées.
|
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.
|
profil par défaut.
|
||||||
|
|
||||||
La commande 'profile' permet de tester si le profil spécifié en argument a été
|
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.
|
par défaut.
|
||||||
|
|
||||||
Exemple:
|
Exemple:
|
||||||
|
@ -358,7 +360,7 @@ est équivalent à:
|
||||||
fi
|
fi
|
||||||
|
|
||||||
En phase d'analyse, ces commandes retournent faux, donc cmd1 et cmd2 ne seront
|
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
|
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é:
|
exemple, le script suivant ne produit pas forcément l'effet escompté:
|
||||||
if run; then
|
if run; then
|
||||||
|
@ -522,7 +524,7 @@ Par exemple:
|
||||||
échoue si SRCDIR et/ou DESTDIR sont des fichiers
|
échoue si SRCDIR et/ou DESTDIR sont des fichiers
|
||||||
* les commandes suivantes sont équivalentes:
|
* les commandes suivantes sont équivalentes:
|
||||||
copy SRC DESTDIR/
|
copy SRC DESTDIR/
|
||||||
copy SRC DESTDIR/SRC
|
copy SRC DESTDIR/SRCNAME
|
||||||
|
|
||||||
Les paramètres optionnels sont
|
Les paramètres optionnels sont
|
||||||
* copy
|
* copy
|
||||||
|
@ -546,7 +548,7 @@ Les paramètres optionnels sont
|
||||||
USAGE: genfile OUTPUT [INPUT] [PARAMS]
|
USAGE: genfile OUTPUT [INPUT] [PARAMS]
|
||||||
|
|
||||||
Si le fichier INPUT est spécifié, il est utilisé pour créer le contenu initial
|
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.
|
elle est lue pour générer le contenu initial du fichier à générer.
|
||||||
|
|
||||||
Les paramètres optionnels sont
|
Les paramètres optionnels sont
|
||||||
|
@ -560,7 +562,7 @@ Les paramètres optionnels sont
|
||||||
USAGE: dockerfile [OUTPUT [INPUT]] [PARAMS]
|
USAGE: dockerfile [OUTPUT [INPUT]] [PARAMS]
|
||||||
|
|
||||||
Si le fichier INPUT est spécifié, il est utilisé pour créer le contenu initial
|
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.
|
est lue pour générer le contenu initial du fichier.
|
||||||
|
|
||||||
Les paramètres optionnels sont
|
Les paramètres optionnels sont
|
||||||
|
@ -635,9 +637,9 @@ Les actions valides sont
|
||||||
* shell -- lancer un shell utilisateur dans le répertoire du projet
|
* shell -- lancer un shell utilisateur dans le répertoire du projet
|
||||||
* none -- ne rien faire
|
* none -- ne rien faire
|
||||||
|
|
||||||
L'action est exécutée sur DESTDIR qui vaut par défaut le répertoire courant.
|
L'action est exécutée sur DESTDIR. Juste avant de lancer l'action, le répertoire
|
||||||
Juste avant de lancer l'action, le répertoire courant est modifié pour être
|
courant est modifié pour être DESTDIR, ce qui permet d'utiliser des chemins
|
||||||
DESTDIR, ce qui permet d'utiliser des chemins relatifs le cas échéant.
|
relatifs le cas échéant.
|
||||||
|
|
||||||
La commande 'rshell' lance un shell bash avec l'utilisateur root au lieu de
|
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
|
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
|
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
|
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.
|
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.
|
nécessaire au projet.
|
||||||
* project-name=PROJECT_NAME
|
* project-name=PROJECT_NAME
|
||||||
si setup= est défini, nommer l'image sur la base de ce nom. par défaut, le nom
|
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
|
* java -- lancer java au lieu de lancer mvn. il est possible de spécifier la
|
||||||
version de java directement, e.g java7, java8, java11
|
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.
|
L'action est exécutée sur DESTDIR. Juste avant de lancer l'action, le répertoire
|
||||||
Juste avant de lancer l'action, le répertoire courant est modifié pour être
|
courant est modifié pour être DESTDIR, ce qui permet d'utiliser des chemins
|
||||||
DESTDIR, ce qui permet d'utiliser des chemins relatifs le cas échéant.
|
relatifs le cas échéant.
|
||||||
|
|
||||||
La commande 'rshell' lance un shell bash avec l'utilisateur root au lieu de
|
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
|
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
|
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
|
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.
|
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.
|
nécessaire au projet.
|
||||||
* project-name=PROJECT_NAME
|
* project-name=PROJECT_NAME
|
||||||
si setup= est défini, nommer l'image sur la base de ce nom. par défaut, le nom
|
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() {
|
function dist() {
|
||||||
local dist version
|
local dist version
|
||||||
for dist in "$@"; do
|
for dist in "$@"; do
|
||||||
[ "$dist" == "#latest" ] && dist="${SETDISTS[0]}"
|
[ "$dist" == LATEST ] && dist="${SETDISTS[0]}"
|
||||||
parse_dist "$dist" dist version
|
parse_dist "$dist" dist version
|
||||||
[ "$dist" == "$DIST" ] || continue
|
[ "$dist" == "$DIST" ] || continue
|
||||||
[ -z "$version" -o "$version" == "$DVERSION" ] || continue
|
[ -z "$version" -o "$version" == "$DVERSION" ] || continue
|
||||||
|
@ -1084,7 +1086,7 @@ function define_functions_env() {
|
||||||
function profile() {
|
function profile() {
|
||||||
local profile version
|
local profile version
|
||||||
for profile in "$@"; do
|
for profile in "$@"; do
|
||||||
[ "$profile" == "#default" ] && profile="${SETPROFILES[0]}"
|
[ "$profile" == DEFAULT ] && profile="${SETPROFILES[0]}"
|
||||||
parse_profile "$profile" profile version
|
parse_profile "$profile" profile version
|
||||||
[ "$profile" == "$PROFILE" ] || continue
|
[ "$profile" == "$PROFILE" ] || continue
|
||||||
[ -z "$version" -o "$version" == "$PVERSION" ] || continue
|
[ -z "$version" -o "$version" == "$PVERSION" ] || continue
|
||||||
|
@ -1748,9 +1750,9 @@ function define_functions_cmd() {
|
||||||
done
|
done
|
||||||
if [ -n "$autotag" ]; then
|
if [ -n "$autotag" ]; then
|
||||||
if [ -n "$DIST" ]; then
|
if [ -n "$DIST" ]; then
|
||||||
dist "#latest" && imagetags+=("$imagetag:latest")
|
dist LATEST && imagetags+=("$imagetag:latest")
|
||||||
elif [ -n "$PROFILE" ]; then
|
elif [ -n "$PROFILE" ]; then
|
||||||
profile "#default" && imagetags+=("$imagetag:latest")
|
profile DEFAULT && imagetags+=("$imagetag:latest")
|
||||||
else
|
else
|
||||||
imagetags+=("$imagetag:latest")
|
imagetags+=("$imagetag:latest")
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue