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