dk: par défaut, forcer l'utilisation de la machine locale pour dk composer

This commit is contained in:
Jephté Clain 2019-10-03 18:56:33 +04:00
parent c202a279dd
commit f8750935a8
1 changed files with 19 additions and 5 deletions

24
dk
View File

@ -144,15 +144,18 @@ COMMANDES
est sourcé. Ce fichier définit des variables qui indiquent comment la
commande composer est lancée. Les variables suivantes peuvent être
définies:
* COMPOSER_IMAGE -- Image utilisée pour lancer composer.
* COMPOSER_IMAGE -- Image utilisée pour lancer composer. La valeur par
défaut est:
$DEFAULT_COMPOSER_IMAGE
Spécifier 'none' pour lancer directement composer sans passer par une
image docker.
L'image spécifiée doit disposer de la commande 'su-exec' afin de
pouvoir lancer la commande avec l'utilisateur courant. Le répertoire
\$HOME est monté à l'intérieur du container et le script composer.phar
du projet est utilisé le cas échéant.
La valeur par défaut est:
$DEFAULT_COMPOSER_IMAGE
Spécifier 'none' pour lancer directement composer sans passer par une
image docker.
* COMPOSER_MACHINE -- Nom de la docker machine sur laquelle se connecter
pour lancer l'image docker. La valeur par défaut est -u, ce qui force
l'utilisation de l'instance docker locale.
* COMPOSER_CMD -- Chemin vers l'exécutable composer. Par défaut,
utiliser composer.phar s'il existe dans le répertoire du projet. Sinon
utiliser /usr/bin/composer
@ -1230,6 +1233,7 @@ EOF
function auto_composer() {
local COMPOSER_IMAGE="$DEFAULT_COMPOSER_IMAGE"
local COMPOSER_MACHINE=-u
local COMPOSER_CMD=
local COMPOSER_SETUP=
[ -f .composer.conf ] && source ./.composer.conf
@ -1237,6 +1241,7 @@ function auto_composer() {
while [ $# -gt 0 ]; do
case "$1" in
COMPOSER_IMAGE=*) setv "$1"; shift;;
COMPOSER_MACHINE=*) setv "$1"; shift;;
COMPOSER_CMD=*) setv "$1"; shift;;
COMPOSER_SETUP=*) setv "$1"; shift;;
*) break;;
@ -1269,6 +1274,15 @@ function auto_composer() {
return $?
fi
if [ -n "$COMPOSER_MACHINE" -a "$DOCKER_MACHINE_NAME" != "$COMPOSER_MACHINE" ]; then
local DOCKER_TLS_VERIFY DOCKER_HOST DOCKER_CERT_PATH DOCKER_MACHINE_NAME env
setx env=docker-machine env "$COMPOSER_MACHINE" 2>/dev/null || {
eerror "$COMPOSER_MACHINE: une erreur s'est produite lors de la sélection du noeud avec docker-machine"
return 1
}
eval "$env"
fi
local user group projdir actualcmd args
setx user=id -un; setx user=getent passwd "$user"
setx group=id -gn; setx group=getent group "$group"