ajouter la commande deploy
This commit is contained in:
parent
5967541159
commit
8cb3b2fc57
153
dk
153
dk
|
@ -9,39 +9,55 @@ USAGE
|
||||||
$scriptname CMDs...
|
$scriptname CMDs...
|
||||||
|
|
||||||
COMMANDES
|
COMMANDES
|
||||||
build [SERVICE]
|
b|build [SERVICE]
|
||||||
Construire les images
|
Construire les images
|
||||||
push
|
p|push
|
||||||
push [SERVICES...]
|
p|push [SERVICES...]
|
||||||
La première syntaxe est utilisable avec un projet docker. Elle permet de
|
La première syntaxe est utilisable avec un projet docker. Elle permet de
|
||||||
pousser l'image qui a été construite avec build vers le serveur
|
pousser l'image qui a été construite avec build vers le serveur
|
||||||
La deuxième syntaxe est utilisée avec un projet docker-compose. Elle
|
La deuxième syntaxe est utilisée avec un projet docker-compose. Elle
|
||||||
permet de pousser les images correspondant aux services qui ont été
|
permet de pousser les images correspondant aux services qui ont été
|
||||||
construit vers le serveur.
|
construit vers le serveur.
|
||||||
start, run [SERVICE]
|
s|start|run [SERVICE]
|
||||||
Démarrer le(s) service(s)
|
Démarrer le(s) service(s)
|
||||||
stop [SERVICE]
|
k|stop [SERVICE]
|
||||||
Arrêter le(s) service(s)
|
Arrêter le(s) service(s)
|
||||||
up
|
1|up
|
||||||
Créer l'environnement, démarrer les services et suivre les logs de façon
|
Créer l'environnement, démarrer les services et suivre les logs de façon
|
||||||
interactive.
|
interactive.
|
||||||
logs [SERVICE]
|
Vaguement équivalent à -- start -- logs
|
||||||
|
l|logs [SERVICE]
|
||||||
Afficher les logs
|
Afficher les logs
|
||||||
down
|
0|down
|
||||||
Arrêter les services et supprimer l'environnement
|
Arrêter les services et supprimer l'environnement
|
||||||
brd
|
d|brd
|
||||||
Construire les images (comme avec build), démarrer les services et
|
Construire les images (comme avec build), démarrer les services et
|
||||||
suivre les logs de façon interactive (comme avec up). Dès que l'on
|
suivre les logs de façon interactive (comme avec up). Dès que l'on
|
||||||
arrête l'affichage des logs avec Ctrl+C, arrêter les services et
|
arrête l'affichage des logs avec Ctrl+C, arrêter les services et
|
||||||
supprimer l'environnement (comme avec down)
|
supprimer l'environnement (comme avec down)
|
||||||
|
Vaguement équivalent à -- build -- start [args] -- logs
|
||||||
|
suivi de -- down
|
||||||
bs
|
bs
|
||||||
Construire les images (comme avec build) puis démarrer les services
|
Construire les images (comme avec build) puis démarrer les services
|
||||||
(comme avec start)
|
(comme avec start)
|
||||||
ip [SERVICE]
|
Equivalent à -- build -- start [args]
|
||||||
|
y|deploy
|
||||||
|
(Re)déployer un service. Cette commande ne fonctionne qu'en mode swarm
|
||||||
|
avec docker-compose. Implique --stack
|
||||||
|
S'il existe un fichier docker-stack.yml, il est utilisé de préférence à
|
||||||
|
la place de docker-compose.yml. De même, les fichiers de profil de la
|
||||||
|
forme docker-stack.PROFILE.yml sont utilisés de préférence à
|
||||||
|
docker-compose.PROFILE.yml
|
||||||
|
by|bd
|
||||||
|
Equivalent à --stack -- build -- deploy [args]
|
||||||
|
Utilisable notamment en développement
|
||||||
|
bpy|bpd
|
||||||
|
Equivalent à --stack -- build -- push -- deploy [args]
|
||||||
|
ip|show-ip [SERVICE]
|
||||||
Afficher l'adresse IP interne du service
|
Afficher l'adresse IP interne du service
|
||||||
exec SERVICE COMMAND
|
x|exec SERVICE COMMAND
|
||||||
Lancer la commande dans le container spécifié
|
Lancer la commande dans le container spécifié
|
||||||
systemd-unit
|
systemd|systemd-unit
|
||||||
Générer une unité systemd qui démarre les services. A priori, ce n'est
|
Générer une unité systemd qui démarre les services. A priori, ce n'est
|
||||||
nécessaire que si aucune politique de redémarrage n'a été définie.
|
nécessaire que si aucune politique de redémarrage n'a été définie.
|
||||||
ps
|
ps
|
||||||
|
@ -50,7 +66,7 @@ COMMANDES
|
||||||
Lister les images actuellement présentes
|
Lister les images actuellement présentes
|
||||||
rm
|
rm
|
||||||
Supprimer une image
|
Supprimer une image
|
||||||
prune
|
X|prune
|
||||||
Supprimer les containers et les images inutilisées
|
Supprimer les containers et les images inutilisées
|
||||||
|
|
||||||
OPTIONS générales
|
OPTIONS générales
|
||||||
|
@ -70,7 +86,13 @@ OPTIONS générales
|
||||||
Spécifier l'hôte pour la commande systemd-unit
|
Spécifier l'hôte pour la commande systemd-unit
|
||||||
|
|
||||||
OPTIONS build
|
OPTIONS build
|
||||||
(ces options ne sont valides que pour les commandes build, brd, bs)
|
(ces options ne sont valides que pour les commandes build, brd, bs, bd, bpd)
|
||||||
|
--stack
|
||||||
|
Indiquer que le build est fait pour un déploiement avec deploy.
|
||||||
|
Les fichiers de la forme docker-stack[.PROFILE].yml s'ils existent sont
|
||||||
|
utilisés de préférence à docker-compose[.PROFILE].yml
|
||||||
|
Cette option n'est nécessaire que si on fait uniquement le build puisque
|
||||||
|
les commandes deploy, bd, et bpd impliquent --stack
|
||||||
-j, --no-cache
|
-j, --no-cache
|
||||||
Ne pas utiliser le cache lors du build
|
Ne pas utiliser le cache lors du build
|
||||||
-g, --ug, --no-update-apps
|
-g, --ug, --no-update-apps
|
||||||
|
@ -93,6 +115,11 @@ OPTIONS build
|
||||||
--ub, --update-apps-branch BRANCH
|
--ub, --update-apps-branch BRANCH
|
||||||
Spécifier la branche par défaut pour update-apps
|
Spécifier la branche par défaut pour update-apps
|
||||||
|
|
||||||
|
OPTIONS deploy
|
||||||
|
-l, --without-registry-auth
|
||||||
|
Ne pas transporter les informations d'autorisation aux agents swarm
|
||||||
|
(c'est à dire ne pas utiliser l'option --with-registry-auth)
|
||||||
|
|
||||||
VARIABLES de update-apps.conf
|
VARIABLES de update-apps.conf
|
||||||
ORIGIN
|
ORIGIN
|
||||||
vaut 'origin' par défaut
|
vaut 'origin' par défaut
|
||||||
|
@ -168,12 +195,7 @@ function docker_check_name() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function compose_set_env_args() {
|
function compose_set_project_name() {
|
||||||
replace_env_args+=(-f docker-compose.yml)
|
|
||||||
if [ -f docker-compose.override.yml ]; then
|
|
||||||
replace_env_args+=(-f docker-compose.override.yml)
|
|
||||||
fi
|
|
||||||
|
|
||||||
local PROJECT_NAME= PROJECT_NAME_REMOVE_SUFFIX=.service PROJECT_NAME_ADD_PROFILE=1
|
local PROJECT_NAME= PROJECT_NAME_REMOVE_SUFFIX=.service PROJECT_NAME_ADD_PROFILE=1
|
||||||
[ -f .compose.env ] && source ./.compose.env
|
[ -f .compose.env ] && source ./.compose.env
|
||||||
|
|
||||||
|
@ -181,8 +203,10 @@ function compose_set_env_args() {
|
||||||
PROJECT_NAME="${PROJECT_NAME%$PROJECT_NAME_REMOVE_SUFFIX}"
|
PROJECT_NAME="${PROJECT_NAME%$PROJECT_NAME_REMOVE_SUFFIX}"
|
||||||
|
|
||||||
if [ -n "$PROFILE" ]; then
|
if [ -n "$PROFILE" ]; then
|
||||||
if [ -f "docker-compose.$PROFILE.yml" ]; then
|
if [ -n "$USE_STACK" -a -f "docker-stack.$PROFILE.yml" ]; then
|
||||||
replace_env_args+=(-f "docker-compose.$PROFILE.yml")
|
replace_env_args+=(-c "docker-stack.$PROFILE.yml")
|
||||||
|
elif [ -f "docker-compose.$PROFILE.yml" ]; then
|
||||||
|
replace_env_args+=(-c "docker-compose.$PROFILE.yml")
|
||||||
fi
|
fi
|
||||||
[ -n "$COMPOSE_PROJECT_NAME" ] || COMPOSE_PROJECT_NAME="$PROJECT_NAME${PROJECT_NAME_ADD_PROFILE:+_${PROFILE}}"
|
[ -n "$COMPOSE_PROJECT_NAME" ] || COMPOSE_PROJECT_NAME="$PROJECT_NAME${PROJECT_NAME_ADD_PROFILE:+_${PROFILE}}"
|
||||||
else
|
else
|
||||||
|
@ -196,6 +220,34 @@ function compose_set_env_args() {
|
||||||
[ -n "$PROFILE" -a -n "$PROJECT_NAME_ADD_PROFILE" ] && container_name="${container_name}_$PROFILE"
|
[ -n "$PROFILE" -a -n "$PROJECT_NAME_ADD_PROFILE" ] && container_name="${container_name}_$PROFILE"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
function compose_set_env_args() {
|
||||||
|
if [ -n "$USE_STACK" -a -f docker-stack.yml ]; then
|
||||||
|
replace_env_args+=(-f docker-stack.yml)
|
||||||
|
else
|
||||||
|
replace_env_args+=(-f docker-compose.yml)
|
||||||
|
fi
|
||||||
|
if [ -n "$USE_STACK" -a -f docker-stack.override.yml ]; then
|
||||||
|
replace_env_args+=(-f docker-stack.override.yml)
|
||||||
|
elif [ -f docker-compose.override.yml ]; then
|
||||||
|
replace_env_args+=(-f docker-compose.override.yml)
|
||||||
|
fi
|
||||||
|
|
||||||
|
compose_set_project_name "$@"
|
||||||
|
}
|
||||||
|
function compose_set_deploy_args() {
|
||||||
|
if [ -n "$USE_STACK" -a -f docker-stack.yml ]; then
|
||||||
|
replace_deploy_args+=(-c docker-stack.yml)
|
||||||
|
else
|
||||||
|
replace_deploy_args+=(-c docker-compose.yml)
|
||||||
|
fi
|
||||||
|
if [ -n "$USE_STACK" -a -f docker-stack.override.yml ]; then
|
||||||
|
replace_deploy_args+=(-f docker-stack.override.yml)
|
||||||
|
elif [ -f docker-compose.override.yml ]; then
|
||||||
|
replace_deploy_args+=(-f docker-compose.override.yml)
|
||||||
|
fi
|
||||||
|
|
||||||
|
compose_set_project_name "$@"
|
||||||
|
}
|
||||||
|
|
||||||
function host_run() {
|
function host_run() {
|
||||||
# lancer le script $2..@ sur l'hôte $1
|
# lancer le script $2..@ sur l'hôte $1
|
||||||
|
@ -611,6 +663,26 @@ function auto_down() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function default_compose_deploy() {
|
||||||
|
${FAKE:+qvals} docker \
|
||||||
|
stack deploy \
|
||||||
|
"${replace_deploy_args[@]}" "${deploy_args[@]}" \
|
||||||
|
"$container_name" "$@"
|
||||||
|
}
|
||||||
|
function compose_deploy() { default_compose_deploy "$@"; }
|
||||||
|
function auto_deploy() {
|
||||||
|
local -a replace_env_args env_args
|
||||||
|
local -a replace_deploy_args deploy_args
|
||||||
|
local project_name container_name
|
||||||
|
if [ -f docker-compose.yml -o -f docker-stack.yml ]; then
|
||||||
|
compose_set_deploy_args set_container_name
|
||||||
|
[ -n "$WITH_REGISTRY_AUTH" ] && replace_deploy_args+=(--with-registry-auth)
|
||||||
|
compose_deploy "$@"
|
||||||
|
else
|
||||||
|
die "Impossible de trouver ni docker-compose.yml ni docker-stack.yml"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
function default_compose_show_ip() {
|
function default_compose_show_ip() {
|
||||||
local -a cmd cids; local cid
|
local -a cmd cids; local cid
|
||||||
cmd=(
|
cmd=(
|
||||||
|
@ -790,9 +862,11 @@ fi
|
||||||
|
|
||||||
chdir=
|
chdir=
|
||||||
DM_SET_MACHINE=
|
DM_SET_MACHINE=
|
||||||
|
USE_STACK=
|
||||||
FAKE=
|
FAKE=
|
||||||
NO_CACHE=
|
NO_CACHE=
|
||||||
HOST=
|
HOST=
|
||||||
|
WITH_REGISTRY_AUTH=1
|
||||||
update_apps_mode=ub
|
update_apps_mode=ub
|
||||||
update_apps_origin=
|
update_apps_origin=
|
||||||
update_apps_branch=
|
update_apps_branch=
|
||||||
|
@ -803,6 +877,7 @@ args=(
|
||||||
-P,--prod PROFILE=prod
|
-P,--prod PROFILE=prod
|
||||||
-T,--test PROFILE=test
|
-T,--test PROFILE=test
|
||||||
-m:,--set-machine: DM_SET_MACHINE=
|
-m:,--set-machine: DM_SET_MACHINE=
|
||||||
|
--stack USE_STACK=1
|
||||||
-n,--fake FAKE=1
|
-n,--fake FAKE=1
|
||||||
-j,--no-cache NO_CACHE=1
|
-j,--no-cache NO_CACHE=1
|
||||||
-h:,--host: HOST=
|
-h:,--host: HOST=
|
||||||
|
@ -810,6 +885,7 @@ args=(
|
||||||
-u,--uu,--update-apps-only update_apps_mode=u
|
-u,--uu,--update-apps-only update_apps_mode=u
|
||||||
--uo:,--update-apps-origin: update_apps_origin=
|
--uo:,--update-apps-origin: update_apps_origin=
|
||||||
--ub:,--update-apps-branch: update_apps_branch=
|
--ub:,--update-apps-branch: update_apps_branch=
|
||||||
|
-l,--without-registry-auth WITH_REGISTRY_AUTH=
|
||||||
)
|
)
|
||||||
parse_args "$@"; set -- "${args[@]}"
|
parse_args "$@"; set -- "${args[@]}"
|
||||||
|
|
||||||
|
@ -915,6 +991,7 @@ while [ $# -gt 0 ]; do
|
||||||
build_set_options "$update_apps_mode" "$update_apps_origin" "$update_apps_branch"
|
build_set_options "$update_apps_mode" "$update_apps_origin" "$update_apps_branch"
|
||||||
[ -f .build.scripts.sh ] && source ./.build.scripts.sh
|
[ -f .build.scripts.sh ] && source ./.build.scripts.sh
|
||||||
[ -f build.scripts.sh ] && source ./build.scripts.sh
|
[ -f build.scripts.sh ] && source ./build.scripts.sh
|
||||||
|
USE_STACK=1
|
||||||
args=()
|
args=()
|
||||||
while [ $# -gt 0 -a "$1" != -- ]; do
|
while [ $# -gt 0 -a "$1" != -- ]; do
|
||||||
args+=("$1"); shift
|
args+=("$1"); shift
|
||||||
|
@ -922,6 +999,38 @@ while [ $# -gt 0 ]; do
|
||||||
enote "Profil $PROFILE"
|
enote "Profil $PROFILE"
|
||||||
auto_build && auto_up "${args[@]}"
|
auto_build && auto_up "${args[@]}"
|
||||||
;;
|
;;
|
||||||
|
y|deploy)
|
||||||
|
USE_STACK=1
|
||||||
|
args=()
|
||||||
|
while [ $# -gt 0 -a "$1" != -- ]; do
|
||||||
|
args+=("$1"); shift
|
||||||
|
done
|
||||||
|
enote "Profil $PROFILE"
|
||||||
|
auto_deploy "${args[@]}" || die
|
||||||
|
;;
|
||||||
|
by|bd)
|
||||||
|
build_set_options "$update_apps_mode" "$update_apps_origin" "$update_apps_branch"
|
||||||
|
[ -f .build.scripts.sh ] && source ./.build.scripts.sh
|
||||||
|
[ -f build.scripts.sh ] && source ./build.scripts.sh
|
||||||
|
USE_STACK=1
|
||||||
|
args=()
|
||||||
|
while [ $# -gt 0 -a "$1" != -- ]; do
|
||||||
|
args+=("$1"); shift
|
||||||
|
done
|
||||||
|
enote "Profil $PROFILE"
|
||||||
|
auto_build && auto_deploy "${args[@]}"
|
||||||
|
;;
|
||||||
|
bpy|bpd)
|
||||||
|
build_set_options "$update_apps_mode" "$update_apps_origin" "$update_apps_branch"
|
||||||
|
[ -f .build.scripts.sh ] && source ./.build.scripts.sh
|
||||||
|
[ -f build.scripts.sh ] && source ./build.scripts.sh
|
||||||
|
args=()
|
||||||
|
while [ $# -gt 0 -a "$1" != -- ]; do
|
||||||
|
args+=("$1"); shift
|
||||||
|
done
|
||||||
|
enote "Profil $PROFILE"
|
||||||
|
auto_build && auto_push && auto_deploy "${args[@]}"
|
||||||
|
;;
|
||||||
ip|show-ip)
|
ip|show-ip)
|
||||||
args=()
|
args=()
|
||||||
while [ $# -gt 0 -a "$1" != -- ]; do
|
while [ $# -gt 0 -a "$1" != -- ]; do
|
||||||
|
|
Loading…
Reference in New Issue