dk: support de COMPOSER_PHP
This commit is contained in:
parent
f28df5266c
commit
28f4d398c2
62
dk
62
dk
|
@ -138,14 +138,20 @@ COMMANDES
|
||||||
X|prune
|
X|prune
|
||||||
Supprimer les containers et les images inutilisées
|
Supprimer les containers et les images inutilisées
|
||||||
|
|
||||||
composer|ci|cu|cs [args...]
|
composer|ci|cu|cr|cs [args...]
|
||||||
Frontend pour lancer composer à l'intérieur d'un container. Les
|
Frontend pour lancer composer à l'intérieur d'un container. Les
|
||||||
commandes 'ci', 'cu' et 'cs' sont respectivement des alias pour
|
commandes 'ci', 'cu', 'cr', 'cs' sont des alias pour 'composer install',
|
||||||
'composer install', 'composer update' et 'composer shell'
|
'composer update', 'composer rshell' et 'composer shell' respectivement
|
||||||
S'il existe un fichier .composer.conf dans le répertoire du projet, il
|
S'il existe un fichier .composer.conf dans le répertoire du projet, il
|
||||||
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_PHP -- Version de PHP en dessous de laquelle COMPOSER_IMAGE
|
||||||
|
est utilisé. L'idée est que si la version de PHP installée est
|
||||||
|
suffisante, il n'est pas nécessaire de passer par une image docker.
|
||||||
|
Cette valeur doit être spécifiée avec le format de PHP_VERSION_ID i.e
|
||||||
|
70300 pour PHP 7.3
|
||||||
|
Spécifier 'any' ou 'force' pour forcer l'utilisation de l'image docker
|
||||||
* COMPOSER_IMAGE -- Image utilisée pour lancer composer. La valeur par
|
* COMPOSER_IMAGE -- Image utilisée pour lancer composer. La valeur par
|
||||||
défaut est:
|
défaut est:
|
||||||
$DEFAULT_COMPOSER_IMAGE
|
$DEFAULT_COMPOSER_IMAGE
|
||||||
|
@ -167,11 +173,11 @@ COMMANDES
|
||||||
spécifiées y sont lancées. Ce container est réutilisé à chaque fois.
|
spécifiées y sont lancées. Ce container est réutilisé à chaque fois.
|
||||||
Ce paramétrage est utilisé pour par exemple installer certains
|
Ce paramétrage est utilisé pour par exemple installer certains
|
||||||
packages nécessaire au projet.
|
packages nécessaire au projet.
|
||||||
La commande 'shell' est une extension qui lance un shell bash au lieu de
|
La commande 'rshell' est une extension qui lance un shell bash au lieu
|
||||||
lancer la commande composer, ce qui permet de faire des opérations plus
|
de lancer la commande composer, ce qui permet de faire des opérations
|
||||||
complexes si le besoin s'en fait sentir. NB: le shell est lancé avec
|
plus complexes si le besoin s'en fait sentir. NB: le shell est lancé
|
||||||
l'utilisateur root. La commande alternative 'ushell' lance le shell avec
|
avec l'utilisateur root. La commande alternative 'shell' lance le shell
|
||||||
le compte utilisateur.
|
avec le compte utilisateur.
|
||||||
Pour faciliter l'utilisation dans un script, les premiers arguments
|
Pour faciliter l'utilisation dans un script, les premiers arguments
|
||||||
peuvent être utilisés pour redéfinir les variables COMPOSER_*, e.g
|
peuvent être utilisés pour redéfinir les variables COMPOSER_*, e.g
|
||||||
$scriptname composer COMPOSER_IMAGE=none install
|
$scriptname composer COMPOSER_IMAGE=none install
|
||||||
|
@ -1275,12 +1281,12 @@ EOF
|
||||||
function default_local_composer() {
|
function default_local_composer() {
|
||||||
# lancement direct
|
# lancement direct
|
||||||
case "$1" in
|
case "$1" in
|
||||||
rootshell|shell|rootbash|bash)
|
rootshell|rshell|rootbash|rbash)
|
||||||
# ewarn parce qu'on est pas root dans ce shell contrairement à ce qui est demandé
|
# ewarn parce qu'on est pas root dans ce shell contrairement à ce qui est demandé
|
||||||
ewarn "Lancement d'un shell utilisateur"
|
ewarn "Lancement d'un shell utilisateur alors qu'un shell root est demandé"
|
||||||
bash "$@"
|
bash "$@"
|
||||||
;;
|
;;
|
||||||
usershell|ushell|userbash|ubash)
|
usershell|shell|userbash|bash)
|
||||||
estep "Lancement d'un shell utilisateur"
|
estep "Lancement d'un shell utilisateur"
|
||||||
bash "$@"
|
bash "$@"
|
||||||
;;
|
;;
|
||||||
|
@ -1303,11 +1309,11 @@ function default_docker_composer() {
|
||||||
setx group=id -gn; setx group=getent group "$group"
|
setx group=id -gn; setx group=getent group "$group"
|
||||||
setx projdir=pwd
|
setx projdir=pwd
|
||||||
case "$1" in
|
case "$1" in
|
||||||
rootshell|shell|rootbash|bash)
|
rootshell|rshell|rootbash|rbash)
|
||||||
actualcmd='eval "bash $args"'
|
actualcmd='eval "bash $args"'
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
usershell|ushell|userbash|ubash)
|
usershell|shell|userbash|bash)
|
||||||
actualcmd='eval "su-exec \"$user\" bash $args"'
|
actualcmd='eval "su-exec \"$user\" bash $args"'
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
|
@ -1390,6 +1396,7 @@ fi
|
||||||
function local_composer() { default_local_composer "$@"; }
|
function local_composer() { default_local_composer "$@"; }
|
||||||
function docker_composer() { default_docker_composer "$@"; }
|
function docker_composer() { default_docker_composer "$@"; }
|
||||||
function auto_composer() {
|
function auto_composer() {
|
||||||
|
local COMPOSER_PHP=
|
||||||
local COMPOSER_IMAGE="$DEFAULT_COMPOSER_IMAGE"
|
local COMPOSER_IMAGE="$DEFAULT_COMPOSER_IMAGE"
|
||||||
local COMPOSER_MACHINE=-u
|
local COMPOSER_MACHINE=-u
|
||||||
local COMPOSER_CMD=
|
local COMPOSER_CMD=
|
||||||
|
@ -1398,6 +1405,7 @@ function auto_composer() {
|
||||||
# les premiers arguments peuvent service à redéfinir les variables
|
# les premiers arguments peuvent service à redéfinir les variables
|
||||||
while [ $# -gt 0 ]; do
|
while [ $# -gt 0 ]; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
COMPOSER_PHP=*) setv "$1"; shift;;
|
||||||
COMPOSER_IMAGE=*) setv "$1"; shift;;
|
COMPOSER_IMAGE=*) setv "$1"; shift;;
|
||||||
COMPOSER_MACHINE=*) setv "$1"; shift;;
|
COMPOSER_MACHINE=*) setv "$1"; shift;;
|
||||||
COMPOSER_CMD=*) setv "$1"; shift;;
|
COMPOSER_CMD=*) setv "$1"; shift;;
|
||||||
|
@ -1406,10 +1414,27 @@ function auto_composer() {
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "$COMPOSER_IMAGE" == none ]; then
|
local use_image
|
||||||
local_composer "$@"
|
if [ -z "$COMPOSER_PHP" ]; then
|
||||||
|
# pas de version minimum, tester simplement la valeur de COMPOSER_IMAGE
|
||||||
|
[ "$COMPOSER_IMAGE" != none ] && use_image=1
|
||||||
|
elif [ "$COMPOSER_PHP" == force -o "$COMPOSER_PHP" == any ]; then
|
||||||
|
use_image=1
|
||||||
else
|
else
|
||||||
|
# Vérifier la version de PHP
|
||||||
|
php -r '
|
||||||
|
$version = $argv[1];
|
||||||
|
if (strpos($version, ".") !== false) {
|
||||||
|
$version = explode(".", $version);
|
||||||
|
$version = $version[0] * 10000 + $version[1] * 100 + (isset($version[2])? $version[2]: 0);
|
||||||
|
}
|
||||||
|
exit((PHP_VERSION_ID < $version)? 0: 1);
|
||||||
|
' -- "$COMPOSER_PHP" && use_image=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$use_image" ]; then
|
||||||
|
[ "$COMPOSER_IMAGE" != none ] || die "Vous devez spécifier l'image à utiliser pour composer"
|
||||||
|
|
||||||
local PREVIOUS_DOCKER_MACHINE_NAME="$DOCKER_MACHINE_NAME"
|
local PREVIOUS_DOCKER_MACHINE_NAME="$DOCKER_MACHINE_NAME"
|
||||||
if [ -n "$COMPOSER_MACHINE" -a "$DOCKER_MACHINE_NAME" != "$COMPOSER_MACHINE" ]; then
|
if [ -n "$COMPOSER_MACHINE" -a "$DOCKER_MACHINE_NAME" != "$COMPOSER_MACHINE" ]; then
|
||||||
local -x DOCKER_TLS_VERIFY= DOCKER_HOST= DOCKER_CERT_PATH= DOCKER_MACHINE_NAME=
|
local -x DOCKER_TLS_VERIFY= DOCKER_HOST= DOCKER_CERT_PATH= DOCKER_MACHINE_NAME=
|
||||||
|
@ -1424,6 +1449,8 @@ function auto_composer() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
docker_composer "$@"
|
docker_composer "$@"
|
||||||
|
else
|
||||||
|
local_composer "$@"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1857,13 +1884,14 @@ NR == 1 { print; next }
|
||||||
"$DOCKER" container prune -f || die
|
"$DOCKER" container prune -f || die
|
||||||
"$DOCKER" image prune -f || die
|
"$DOCKER" image prune -f || die
|
||||||
;;
|
;;
|
||||||
composer|c|ci|cu|cs)
|
composer|c|ci|cu|cr|cs)
|
||||||
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
|
||||||
args=()
|
args=()
|
||||||
if [ "$cmd" == ci ]; then args+=(install)
|
if [ "$cmd" == ci ]; then args+=(install)
|
||||||
elif [ "$cmd" == cu ]; then args+=(update)
|
elif [ "$cmd" == cu ]; then args+=(update)
|
||||||
|
elif [ "$cmd" == cr ]; then args+=(rshell)
|
||||||
elif [ "$cmd" == cs ]; then args+=(shell)
|
elif [ "$cmd" == cs ]; then args+=(shell)
|
||||||
fi
|
fi
|
||||||
while [ $# -gt 0 -a "$1" != -- ]; do
|
while [ $# -gt 0 -a "$1" != -- ]; do
|
||||||
|
|
Loading…
Reference in New Issue