From f8750935a8f278cbdceba9b1d75a1d3df43a2933 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Thu, 3 Oct 2019 18:56:33 +0400 Subject: [PATCH] =?UTF-8?q?dk:=20par=20d=C3=A9faut,=20forcer=20l'utilisati?= =?UTF-8?q?on=20de=20la=20machine=20locale=20pour=20dk=20composer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dk | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/dk b/dk index fdb1278..af44d77 100755 --- a/dk +++ b/dk @@ -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"