dk: support des mappings d'hôtes
This commit is contained in:
		
							parent
							
								
									543d2d2f79
								
							
						
					
					
						commit
						b3983edd2a
					
				
							
								
								
									
										146
									
								
								dk
									
									
									
									
									
								
							
							
						
						
									
										146
									
								
								dk
									
									
									
									
									
								
							| @ -341,7 +341,9 @@ OPTIONS build | |||||||
|             DEFAULT_ORIGIN=           # origine par défaut des branches |             DEFAULT_ORIGIN=           # origine par défaut des branches | ||||||
|             CLEAN=                    # fonction de nettoyage |             CLEAN=                    # fonction de nettoyage | ||||||
|             APPS=()                   # applications à mettre à jour |             APPS=()                   # applications à mettre à jour | ||||||
|  |             HOST_MAPPINGS=()          # mappings d'hôtes pour les builds docker | ||||||
|             ## valeurs par défaut pour les projets composer |             ## valeurs par défaut pour les projets composer | ||||||
|  |             COMPOSER_DEVEL_SRCDIR=    # répertoire de base des projets composer | ||||||
|             COMPOSER_ACTION=          # action projet composer (install|update|none) |             COMPOSER_ACTION=          # action projet composer (install|update|none) | ||||||
|             COMPOSER_ARGS=()          # arguments de composer install|update |             COMPOSER_ARGS=()          # arguments de composer install|update | ||||||
|             COMPOSER_PHP= |             COMPOSER_PHP= | ||||||
| @ -350,6 +352,7 @@ OPTIONS build | |||||||
|             COMPOSER_CMD= |             COMPOSER_CMD= | ||||||
|             COMPOSER_SETUP= |             COMPOSER_SETUP= | ||||||
|             ## valeurs par défaut pour les projets maven |             ## valeurs par défaut pour les projets maven | ||||||
|  |             MAVEN_DEVEL_SRCDIR=       # répertoire de base des projets maven | ||||||
|             MAVEN_ACTION=             # action projet maven (package|none) |             MAVEN_ACTION=             # action projet maven (package|none) | ||||||
|             MAVEN_ARGS=()             # arguments de mvn |             MAVEN_ARGS=()             # arguments de mvn | ||||||
|             MAVEN_JAVA= |             MAVEN_JAVA= | ||||||
| @ -391,6 +394,7 @@ OPTIONS build | |||||||
|         Certaines valeurs peuvent être valuées selon le profil |         Certaines valeurs peuvent être valuées selon le profil | ||||||
|             {profile}_CLEAN= |             {profile}_CLEAN= | ||||||
|             {profile}_APPS=() |             {profile}_APPS=() | ||||||
|  |             {profile}_HOST_MAPPINGS=() | ||||||
|             {profile}_COMPOSER_ACTION= |             {profile}_COMPOSER_ACTION= | ||||||
|             {profile}_COMPOSER_ARGS=() |             {profile}_COMPOSER_ARGS=() | ||||||
|             {profile}_COMPOSER_PHP= |             {profile}_COMPOSER_PHP= | ||||||
| @ -418,7 +422,8 @@ OPTIONS build | |||||||
|     -w, --ww, --update-apps-devel |     -w, --ww, --update-apps-devel | ||||||
|         Faire la mise à jour en mode devel: le projet ainsi que ses fichiers des |         Faire la mise à jour en mode devel: le projet ainsi que ses fichiers des | ||||||
|         répertoires vendor/lib et vendor/ur sont synchronisés via rsync depuis |         répertoires vendor/lib et vendor/ur sont synchronisés via rsync depuis | ||||||
|         \$DEFAULT_DEVEL_SRCDIR qui vaut par défaut \$HOME/wop/php |         \$DEFAULT_DEVEL_SRCDIR, \$COMPOSER_DEVEL_SRCDIR ou \$MAVEN_DEVEL_SRCDIR | ||||||
|  |         en fonction du type de projet | ||||||
|     --uo, --update-apps-origin ORIGIN |     --uo, --update-apps-origin ORIGIN | ||||||
|         Spécifier l'origine par défaut pour update-apps |         Spécifier l'origine par défaut pour update-apps | ||||||
|     --ub, --update-apps-branch BRANCH |     --ub, --update-apps-branch BRANCH | ||||||
| @ -437,8 +442,8 @@ VARIABLES de update-apps.conf | |||||||
|         checkout, mais le répertoire destination pour la synchro |         checkout, mais le répertoire destination pour la synchro | ||||||
|     DEVEL_SRCDIR |     DEVEL_SRCDIR | ||||||
|         répertoire source pour le mode devel. attention, il s'agit du répertoire |         répertoire source pour le mode devel. attention, il s'agit du répertoire | ||||||
|         du projet, alors que DEFAULT_DEVEL_SRCDIR est le répertoire de base par |         du projet, alors que DEFAULT_DEVEL_SRCDIR, COMPOSER_DEVEL_SRCDIR et | ||||||
|         défaut des projets |         MAVEN_DEVEL_SRCDIR sont les répertoires de base par défaut des projets | ||||||
|     ORIGIN |     ORIGIN | ||||||
|         vaut 'origin' par défaut |         vaut 'origin' par défaut | ||||||
|     BRANCH |     BRANCH | ||||||
| @ -450,8 +455,13 @@ VARIABLES de update-apps.conf | |||||||
|         - si un fichier composer.json existe, vaut 'composer' par défaut |         - si un fichier composer.json existe, vaut 'composer' par défaut | ||||||
|         - si un fichier pom.xml existe, vaut 'maven' par défaut |         - si un fichier pom.xml existe, vaut 'maven' par défaut | ||||||
|         - sinon vaut 'none' par défaut |         - sinon vaut 'none' par défaut | ||||||
|  |     BEFORE_BUILD | ||||||
|  |         Cette variable est une liste de commandes à lancer après le clonage (ou | ||||||
|  |         la mise à jour) du dépôt et avant le build, en fonction du type de | ||||||
|  |         projet. La syntaxe à utiliser est la même que pour AFTER_UPDATE | ||||||
|     AFTER_UPDATE |     AFTER_UPDATE | ||||||
|         Cette variable est une liste de commandes à lancer après la maj du dépôt |         Cette variable est une liste de commandes à lancer après la maj du dépôt | ||||||
|  |         et le build éventuel du projet | ||||||
|         - si le chemin est absolu ou relatif, lancer la commande telle quelle |         - si le chemin est absolu ou relatif, lancer la commande telle quelle | ||||||
|         - s'il n'y a pas de chemin, alors ce doit être le nom d'une fonction |         - s'il n'y a pas de chemin, alors ce doit être le nom d'une fonction | ||||||
|           existante auquel on enlève le préfixe update_apps_func_ |           existante auquel on enlève le préfixe update_apps_func_ | ||||||
| @ -470,14 +480,23 @@ VARIABLES de update-apps.conf | |||||||
|             TYPE=                 # type de projet (composer|none) |             TYPE=                 # type de projet (composer|none) | ||||||
|     COMPOSER_ACTION |     COMPOSER_ACTION | ||||||
|         vaut 'install' par défaut. Indique ce qu'il faut faire pour un projet de |         vaut 'install' par défaut. Indique ce qu'il faut faire pour un projet de | ||||||
|         type 'composer' après avoir lancé les commandes de AFTER_UPDATE. Les |         type 'composer' après avoir lancé les commandes de BEFORE_BUILD et avant | ||||||
|         directives supportées sont 'install', 'update' et 'none' |         les commandes de AFTER_UPDATE. Les directives supportées sont 'install', | ||||||
|  |         'update' et 'none' | ||||||
|     COMPOSER_ARGS |     COMPOSER_ARGS | ||||||
|         options à utiliser avec composer install|update. La valeur par défaut |         options à utiliser avec 'composer \$COMPOSER_ACTION'. La valeur par | ||||||
|         dépend du profil: |         défaut dépend du profil: | ||||||
|             prod:   --no-dev -o |             prod:   --no-dev -o | ||||||
|             test:   --no-dev -o |             test:   --no-dev -o | ||||||
|             autres: (pas d'options) |             autres: (pas d'options) | ||||||
|  |     MAVEN_ACTION | ||||||
|  |         vaut 'package' par défaut. Indique ce qu'il faut faire pour un projet de | ||||||
|  |         type 'maven' après avoir lancé les commandes de BEFORE_BUILD et avant | ||||||
|  |         les commandes de AFTER_UPDATE. Les directives supportées sont 'package' | ||||||
|  |         (alias de 'clean package'), 'package_only' qui ne lance pas de clean | ||||||
|  |         avant le build, et 'none' | ||||||
|  |     MAVEN_ARGS | ||||||
|  |         options à utiliser avec la commande 'mvn \$MAVEN_ACTION' | ||||||
| 
 | 
 | ||||||
| FONCTIONS de update-apps.conf | FONCTIONS de update-apps.conf | ||||||
|     sqlmig [DESTDIR [SRCDIR [NOFIX]]] |     sqlmig [DESTDIR [SRCDIR [NOFIX]]] | ||||||
| @ -807,6 +826,7 @@ function update_apps_func_pff() { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function update_apps_func_mvn() { | function update_apps_func_mvn() { | ||||||
|  |     # XXX obsolète: remplacé par le support natif des projets maven | ||||||
|     local cwd="$(pwd)" |     local cwd="$(pwd)" | ||||||
|     cd "$DEST" |     cd "$DEST" | ||||||
|     mvn "$@" || die |     mvn "$@" || die | ||||||
| @ -818,17 +838,16 @@ function build_update_apps() { | |||||||
|     [ -f update-apps.conf ] || return 0 |     [ -f update-apps.conf ] || return 0 | ||||||
| 
 | 
 | ||||||
|     # charger le fichier de configuration |     # charger le fichier de configuration | ||||||
|     local DEFAULT_ORIGIN DEFAULT_BRANCH APPS |     local DEFAULT_ORIGIN DEFAULT_BRANCH | ||||||
|  |     local -a APPS | ||||||
|     DEFAULT_ORIGIN="$UPDATE_APPS_ORIGIN" |     DEFAULT_ORIGIN="$UPDATE_APPS_ORIGIN" | ||||||
|     [ -z "$DEFAULT_ORIGIN" ] && DEFAULT_ORIGIN=origin |     [ -z "$DEFAULT_ORIGIN" ] && DEFAULT_ORIGIN=origin | ||||||
|     DEFAULT_BRANCH="$UPDATE_APPS_BRANCH" |     DEFAULT_BRANCH="$UPDATE_APPS_BRANCH" | ||||||
|     #XXX à terme, ne déployer en prod que la branche master |     #XXX à terme, ne déployer en prod que la branche master | ||||||
|     [ -z "$DEFAULT_BRANCH" -a "$PROFILE" == prod ] && DEFAULT_BRANCH=develop #XXX master |     [ -z "$DEFAULT_BRANCH" -a "$PROFILE" == prod ] && DEFAULT_BRANCH=develop #XXX master | ||||||
|     [ -z "$DEFAULT_BRANCH" ] && DEFAULT_BRANCH=develop |     [ -z "$DEFAULT_BRANCH" ] && DEFAULT_BRANCH=develop | ||||||
|     DEFAULT_DEVEL_SRCDIR="$HOME/wop/php" |  | ||||||
|     DEFAULT_COMPOSER_ACTION=install |  | ||||||
|     APPS=() |  | ||||||
|     CLEAN= |     CLEAN= | ||||||
|  |     APPS=() | ||||||
|     [ -f update-apps.conf ] && source ./update-apps.conf |     [ -f update-apps.conf ] && source ./update-apps.conf | ||||||
| 
 | 
 | ||||||
|     local apps # liste des applications spécifique au profil |     local apps # liste des applications spécifique au profil | ||||||
| @ -869,11 +888,6 @@ function build_update_apps() { | |||||||
|             fi |             fi | ||||||
|         fi |         fi | ||||||
| 
 | 
 | ||||||
|         DEVEL_SRCDIR="${var}_DEVEL_SRCDIR"; DEVEL_SRCDIR="${!DEVEL_SRCDIR}" |  | ||||||
|         if [ -z "$DEVEL_SRCDIR" -a -n "$URL" ]; then |  | ||||||
|             DEVEL_SRCDIR="$DEFAULT_DEVEL_SRCDIR/${URL##*/}" |  | ||||||
|         fi |  | ||||||
| 
 |  | ||||||
|         DEST="${var}_DEST"; DEST="${!DEST}" |         DEST="${var}_DEST"; DEST="${!DEST}" | ||||||
|         [ -n "$DEST" ] || DEST="$app/b" |         [ -n "$DEST" ] || DEST="$app/b" | ||||||
| 
 | 
 | ||||||
| @ -899,6 +913,16 @@ function build_update_apps() { | |||||||
|         # calculer le type maintenant, on en a besoin pour le mode devel |         # calculer le type maintenant, on en a besoin pour le mode devel | ||||||
|         TYPE="${var}_TYPE"; TYPE="${!TYPE}" |         TYPE="${var}_TYPE"; TYPE="${!TYPE}" | ||||||
| 
 | 
 | ||||||
|  |         DEVEL_SRCDIR="${var}_DEVEL_SRCDIR"; DEVEL_SRCDIR="${!DEVEL_SRCDIR}" | ||||||
|  |         if [ -z "$DEVEL_SRCDIR" -a -n "$URL" ]; then | ||||||
|  |             case "$TYPE" in | ||||||
|  |             composer) DEVEL_SRCDIR="${COMPOSER_DEVEL_SRCDIR:-$DEFAULT_DEVEL_SRCDIR}";; | ||||||
|  |             maven) DEVEL_SRCDIR="${MAVEN_DEVEL_SRCDIR:-$DEFAULT_DEVEL_SRCDIR}";; | ||||||
|  |             *) DEVEL_SRCDIR="$DEFAULT_DEVEL_SRCDIR";; | ||||||
|  |             esac | ||||||
|  |             DEVEL_SRCDIR="$DEVEL_SRCDIR/${URL##*/}" | ||||||
|  |         fi | ||||||
|  | 
 | ||||||
|         if [ -n "$BUILD_UPDATE_DEVEL" -a -n "$DEVEL_SRCDIR" ]; then |         if [ -n "$BUILD_UPDATE_DEVEL" -a -n "$DEVEL_SRCDIR" ]; then | ||||||
|             mkdir -p "$DEST" || { eend; return 1; } |             mkdir -p "$DEST" || { eend; return 1; } | ||||||
|             DEST="$DEST/$NAME" |             DEST="$DEST/$NAME" | ||||||
| @ -1068,7 +1092,7 @@ function build_update_apps() { | |||||||
|             composer_action="${var}_${PROFILE}_COMPOSER_ACTION"; composer_action="${!composer_action}" |             composer_action="${var}_${PROFILE}_COMPOSER_ACTION"; composer_action="${!composer_action}" | ||||||
|             [ -n "$composer_action" ] || { composer_action="${var}_COMPOSER_ACTION"; composer_action="${!composer_action}"; } |             [ -n "$composer_action" ] || { composer_action="${var}_COMPOSER_ACTION"; composer_action="${!composer_action}"; } | ||||||
|             [ -n "$composer_action" ] || { composer_action="${PROFILE}_COMPOSER_ACTION"; composer_action="${!composer_action}"; } |             [ -n "$composer_action" ] || { composer_action="${PROFILE}_COMPOSER_ACTION"; composer_action="${!composer_action}"; } | ||||||
|             [ -n "$composer_action" ] || composer_action="$COMPOSER_ACTION" |             [ -n "$composer_action" ] || composer_action="${COMPOSER_ACTION:-install}" | ||||||
| 
 | 
 | ||||||
|             composer_args="${var}_${PROFILE}_COMPOSER_ARGS" |             composer_args="${var}_${PROFILE}_COMPOSER_ARGS" | ||||||
|             is_defined "$composer_args" || composer_args="${var}_COMPOSER_ARGS" |             is_defined "$composer_args" || composer_args="${var}_COMPOSER_ARGS" | ||||||
| @ -1077,7 +1101,7 @@ function build_update_apps() { | |||||||
|             composer_args="${composer_args}[@]"; composer_args=("${!composer_args}") |             composer_args="${composer_args}[@]"; composer_args=("${!composer_args}") | ||||||
| 
 | 
 | ||||||
|             if [ -z "$BUILD_UPDATE_DEVEL" ]; then |             if [ -z "$BUILD_UPDATE_DEVEL" ]; then | ||||||
|                 case "${composer_action:-install}" in |                 case "$composer_action" in | ||||||
|                 i|install) composer_action=install;; |                 i|install) composer_action=install;; | ||||||
|                 u|update) composer_action=update;; |                 u|update) composer_action=update;; | ||||||
|                 none|nop) composer_action=;; |                 none|nop) composer_action=;; | ||||||
| @ -1107,7 +1131,7 @@ function build_update_apps() { | |||||||
|             maven_action="${var}_${PROFILE}_MAVEN_ACTION"; maven_action="${!maven_action}" |             maven_action="${var}_${PROFILE}_MAVEN_ACTION"; maven_action="${!maven_action}" | ||||||
|             [ -n "$maven_action" ] || { maven_action="${var}_MAVEN_ACTION"; maven_action="${!maven_action}"; } |             [ -n "$maven_action" ] || { maven_action="${var}_MAVEN_ACTION"; maven_action="${!maven_action}"; } | ||||||
|             [ -n "$maven_action" ] || { maven_action="${PROFILE}_MAVEN_ACTION"; maven_action="${!maven_action}"; } |             [ -n "$maven_action" ] || { maven_action="${PROFILE}_MAVEN_ACTION"; maven_action="${!maven_action}"; } | ||||||
|             [ -n "$maven_action" ] || maven_action="$MAVEN_ACTION" |             [ -n "$maven_action" ] || maven_action="${MAVEN_ACTION:-package}" | ||||||
| 
 | 
 | ||||||
|             maven_args="${var}_${PROFILE}_MAVEN_ARGS" |             maven_args="${var}_${PROFILE}_MAVEN_ARGS" | ||||||
|             is_defined "$maven_args" || maven_args="${var}_MAVEN_ARGS" |             is_defined "$maven_args" || maven_args="${var}_MAVEN_ARGS" | ||||||
| @ -1116,10 +1140,9 @@ function build_update_apps() { | |||||||
|             maven_args="${maven_args}[@]"; maven_args=("${!maven_args}") |             maven_args="${maven_args}[@]"; maven_args=("${!maven_args}") | ||||||
| 
 | 
 | ||||||
|             if [ -z "$BUILD_UPDATE_DEVEL" ]; then |             if [ -z "$BUILD_UPDATE_DEVEL" ]; then | ||||||
|                 case "${maven_action:-p}" in |                 case "$maven_action" in | ||||||
|                 c|clean) maven_action=clean;; |                 package_only|po) maven_action="package";; | ||||||
|                 po|package_only) maven_action=package;; |                 "clean package"|package|cp|p) maven_action="clean package";; | ||||||
|                 p|package) maven_action="clean package";; |  | ||||||
|                 none|nop) maven_action=;; |                 none|nop) maven_action=;; | ||||||
|                 *) ewarn "$maven_action: action invalide"; maven_action=;; |                 *) ewarn "$maven_action: action invalide"; maven_action=;; | ||||||
|                 esac |                 esac | ||||||
| @ -1926,7 +1949,7 @@ function default_docker_composer() { | |||||||
|     esac |     esac | ||||||
|     setx args=qvals "$@" |     setx args=qvals "$@" | ||||||
| 
 | 
 | ||||||
|     local -a basecmd cmd setupscript runscript |     local -a basecmd setupscript runscript cmd | ||||||
|     basecmd=( |     basecmd=( | ||||||
|         -e user="$user" |         -e user="$user" | ||||||
|         -e group="$group" |         -e group="$group" | ||||||
| @ -1934,8 +1957,11 @@ function default_docker_composer() { | |||||||
|         -e setup="$COMPOSER_SETUP" |         -e setup="$COMPOSER_SETUP" | ||||||
|         -e composer="$COMPOSER_CMD" |         -e composer="$COMPOSER_CMD" | ||||||
|         -e args="$args" |         -e args="$args" | ||||||
|         -v "$HOME:$HOME" |  | ||||||
|     ) |     ) | ||||||
|  |     for host_mapping in "${HOST_MAPPINGS[@]}"; do | ||||||
|  |         basecmd+=(--add-host "$host_mapping") | ||||||
|  |     done | ||||||
|  |     basecmd+=(-v "$HOME:$HOME") | ||||||
|     if [ "${projdir#$HOME/}" == "$projdir" ]; then |     if [ "${projdir#$HOME/}" == "$projdir" ]; then | ||||||
|         # si le répertoire de projet ne se trouve pas dans $HOME, le monter aussi |         # si le répertoire de projet ne se trouve pas dans $HOME, le monter aussi | ||||||
|         cmd+=(-v "$projdir:$projdir") |         cmd+=(-v "$projdir:$projdir") | ||||||
| @ -1999,6 +2025,12 @@ 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() { | ||||||
|  |     # mappings d'hôtes | ||||||
|  |     if [ -z "$HOST_MAPPINGS" ]; then | ||||||
|  |         HOST_MAPPINGS="${PROFILE}_HOST_MAPPINGS[@]"; HOST_MAPPINGS=("${!HOST_MAPPINGS}") | ||||||
|  |         [ ${#HOST_MAPPINGS[*]} -gt 0 ] || HOST_MAPPINGS=("${DEFAULT_HOST_MAPPINGS[@]}") | ||||||
|  |     fi | ||||||
|  | 
 | ||||||
|     local COMPOSER_PHP= |     local COMPOSER_PHP= | ||||||
|     local COMPOSER_PHP_MAX= |     local COMPOSER_PHP_MAX= | ||||||
|     local COMPOSER_IMAGE="$DEFAULT_COMPOSER_IMAGE" |     local COMPOSER_IMAGE="$DEFAULT_COMPOSER_IMAGE" | ||||||
| @ -2009,13 +2041,14 @@ function auto_composer() { | |||||||
|     # les premiers arguments peuvent servir à redéfinir les variables |     # les premiers arguments peuvent servir à redéfinir les variables | ||||||
|     while [ $# -gt 0 ]; do |     while [ $# -gt 0 ]; do | ||||||
|         case "$1" in |         case "$1" in | ||||||
|         COMPOSER_PHP=*) setv "$1"; shift;; |         COMPOSER_*=*) | ||||||
|         COMPOSER_PHP_MAX=*) setv "$1"; shift;; |             setv "$1" | ||||||
|         COMPOSER_IMAGE=*) setv "$1"; shift;; |             shift | ||||||
|         COMPOSER_MACHINE=*) setv "$1"; shift;; |             ;; | ||||||
|         COMPOSER_CMD=*) setv "$1"; shift;; |         HOST_MAPPING=*) | ||||||
|         COMPOSER_SETUP=*) setv "$1"; shift;; |             HOST_MAPPINGS+=("${1#HOST_MAPPING=}") | ||||||
|         COMPOSER_*=*) shift;; # ignorer variable inconnue |             shift | ||||||
|  |             ;; | ||||||
|         *) break;; |         *) break;; | ||||||
|         esac |         esac | ||||||
|     done |     done | ||||||
| @ -2127,7 +2160,7 @@ function default_docker_maven() { | |||||||
|     esac |     esac | ||||||
|     setx args=qvals "$@" |     setx args=qvals "$@" | ||||||
| 
 | 
 | ||||||
|     local -a basecmd cmd setupscript runscript |     local -a basecmd host_mapping setupscript runscript cmd | ||||||
|     basecmd=( |     basecmd=( | ||||||
|         -e user="$user" |         -e user="$user" | ||||||
|         -e group="$group" |         -e group="$group" | ||||||
| @ -2136,11 +2169,14 @@ function default_docker_maven() { | |||||||
|         -e maven="$MAVEN_CMD" |         -e maven="$MAVEN_CMD" | ||||||
|         -e args="$args" |         -e args="$args" | ||||||
|         ${MAVEN_JAVA:+-e JAVA="$MAVEN_JAVA"} |         ${MAVEN_JAVA:+-e JAVA="$MAVEN_JAVA"} | ||||||
|         -v "$HOME:$HOME" |  | ||||||
|     ) |     ) | ||||||
|  |     for host_mapping in "${HOST_MAPPINGS[@]}"; do | ||||||
|  |         basecmd+=(--add-host "$host_mapping") | ||||||
|  |     done | ||||||
|  |     basecmd+=(-v "$HOME:$HOME") | ||||||
|     if [ "${projdir#$HOME/}" == "$projdir" ]; then |     if [ "${projdir#$HOME/}" == "$projdir" ]; then | ||||||
|         # si le répertoire de projet ne se trouve pas dans $HOME, le monter aussi |         # si le répertoire de projet ne se trouve pas dans $HOME, le monter aussi | ||||||
|         cmd+=(-v "$projdir:$projdir") |         basecmd+=(-v "$projdir:$projdir") | ||||||
|     fi |     fi | ||||||
|     setupscript='eval "$setup"' |     setupscript='eval "$setup"' | ||||||
|     runscript=' |     runscript=' | ||||||
| @ -2196,6 +2232,12 @@ cd "$projdir" | |||||||
| function local_maven() { default_local_maven "$@"; } | function local_maven() { default_local_maven "$@"; } | ||||||
| function docker_maven() { default_docker_maven "$@"; } | function docker_maven() { default_docker_maven "$@"; } | ||||||
| function auto_maven() { | function auto_maven() { | ||||||
|  |     # mappings d'hôtes | ||||||
|  |     if [ -z "$HOST_MAPPINGS" ]; then | ||||||
|  |         HOST_MAPPINGS="${PROFILE}_HOST_MAPPINGS[@]"; HOST_MAPPINGS=("${!HOST_MAPPINGS}") | ||||||
|  |         [ ${#HOST_MAPPINGS[*]} -gt 0 ] || HOST_MAPPINGS=("${DEFAULT_HOST_MAPPINGS[@]}") | ||||||
|  |     fi | ||||||
|  | 
 | ||||||
|     local MAVEN_JAVA= |     local MAVEN_JAVA= | ||||||
|     local MAVEN_IMAGE="$DEFAULT_MAVEN_IMAGE" |     local MAVEN_IMAGE="$DEFAULT_MAVEN_IMAGE" | ||||||
|     local MAVEN_MACHINE=-u |     local MAVEN_MACHINE=-u | ||||||
| @ -2205,12 +2247,14 @@ function auto_maven() { | |||||||
|     # les premiers arguments peuvent servir à redéfinir les variables |     # les premiers arguments peuvent servir à redéfinir les variables | ||||||
|     while [ $# -gt 0 ]; do |     while [ $# -gt 0 ]; do | ||||||
|         case "$1" in |         case "$1" in | ||||||
|         MAVEN_JAVA=*) setv "$1"; shift;; |         MAVEN_*=*) | ||||||
|         MAVEN_IMAGE=*) setv "$1"; shift;; |             setv "$1" | ||||||
|         MAVEN_MACHINE=*) setv "$1"; shift;; |             shift | ||||||
|         MAVEN_CMD=*) setv "$1"; shift;; |             ;; | ||||||
|         MAVEN_SETUP=*) setv "$1"; shift;; |         HOST_MAPPING=*) | ||||||
|         MAVEN_*=*) shift;; # ignorer variable inconnue |             HOST_MAPPINGS+=("${1#HOST_MAPPING=}") | ||||||
|  |             shift | ||||||
|  |             ;; | ||||||
|         *) break;; |         *) break;; | ||||||
|         esac |         esac | ||||||
|     done |     done | ||||||
| @ -2330,15 +2374,27 @@ else DOCKER=docker | |||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| DEFAULT_PROFILE=devel | DEFAULT_PROFILE=devel | ||||||
| DEFAULT_COMPOSER_IMAGE=docker.univ-reunion.fr/image/phpbuilder |  | ||||||
| DEFAULT_MAVEN_IMAGE=docker.univ-reunion.fr/image/javabuilder |  | ||||||
| PROFILE= | PROFILE= | ||||||
| DM_ALIASES=() | DM_ALIASES=() | ||||||
| DM_PROFILES=() | DM_PROFILES=() | ||||||
| CLUSTERDIRS=() | CLUSTERDIRS=() | ||||||
|  | DEFAULT_DEVEL_SRCDIR="$HOME/wop" | ||||||
|  | COMPOSER_DEVEL_SRCDIR="$HOME/wop/php" | ||||||
|  | MAVEN_DEVEL_SRCDIR="$HOME/wop/sn" | ||||||
|  | DEFAULT_COMPOSER_IMAGE=docker.univ-reunion.fr/image/phpbuilder | ||||||
|  | DEFAULT_MAVEN_IMAGE=docker.univ-reunion.fr/image/javabuilder | ||||||
|  | DEFAULT_HOST_MAPPINGS=() | ||||||
|  | prod_HOST_MAPPINGS=( | ||||||
|  |     docker.univ-reunion.fr:10.82.70.154 | ||||||
|  |     repos.univ-reunion.fr:10.82.70.246 | ||||||
|  |     git.univ-reunion.fr:10.82.70.247 | ||||||
|  | ) | ||||||
|  | test_HOST_MAPPINGS=("${prod_HOST_MAPPINGS}") | ||||||
| set_defaults dk | set_defaults dk | ||||||
| export PROFILE | export PROFILE | ||||||
| 
 | 
 | ||||||
|  | HOST_MAPPINGS=() | ||||||
|  | 
 | ||||||
| chdir= | chdir= | ||||||
| CONFIG= | CONFIG= | ||||||
| DM_SET_MACHINE= | DM_SET_MACHINE= | ||||||
| @ -2855,6 +2911,8 @@ NR == 1 { print; next } | |||||||
|         while [ $# -gt 0 -a "$1" != -- ]; do |         while [ $# -gt 0 -a "$1" != -- ]; do | ||||||
|             if [[ "$1" == COMPOSER_*=* ]]; then |             if [[ "$1" == COMPOSER_*=* ]]; then | ||||||
|                 args+=("$1"); shift |                 args+=("$1"); shift | ||||||
|  |             elif [[ "$1" == HOST_MAPPING=* ]]; then | ||||||
|  |                 args+=("$1"); shift | ||||||
|             else |             else | ||||||
|                 break |                 break | ||||||
|             fi |             fi | ||||||
| @ -2878,6 +2936,8 @@ NR == 1 { print; next } | |||||||
|         while [ $# -gt 0 -a "$1" != -- ]; do |         while [ $# -gt 0 -a "$1" != -- ]; do | ||||||
|             if [[ "$1" == MAVEN_*=* ]]; then |             if [[ "$1" == MAVEN_*=* ]]; then | ||||||
|                 args+=("$1"); shift |                 args+=("$1"); shift | ||||||
|  |             elif [[ "$1" == HOST_MAPPING=* ]]; then | ||||||
|  |                 args+=("$1"); shift | ||||||
|             else |             else | ||||||
|                 break |                 break | ||||||
|             fi |             fi | ||||||
|  | |||||||
| @ -14,5 +14,16 @@ | |||||||
| # d'aliases | # d'aliases | ||||||
| #CLUSTERDIRS=(~/wop/containers/*.univ.run) | #CLUSTERDIRS=(~/wop/containers/*.univ.run) | ||||||
| 
 | 
 | ||||||
| # Image à utiliser pour lancer composer | # Répertoire de base par défaut des projets en mode devel | ||||||
| #COMPOSER_IMAGE=docker.univ-reunion.fr/image/apache-php-myiccas-utils:d10 | #DEFAULT_DEVEL_SRCDIR="$HOME/wop" | ||||||
|  | #COMPOSER_DEVEL_SRCDIR="$HOME/wop/php" | ||||||
|  | #MAVEN_DEVEL_SRCDIR="$HOME/wop/sn" | ||||||
|  | 
 | ||||||
|  | # Image à utiliser pour les builds | ||||||
|  | #DEFAULT_COMPOSER_IMAGE=docker.univ-reunion.fr/image/phpbuilder:d10 | ||||||
|  | #DEFAULT_MAVEN_IMAGE=docker.univ-reunion.fr/image/javabuilder:d10 | ||||||
|  | 
 | ||||||
|  | # Mappings d'hôtes à activer pour les builds à base d'image | ||||||
|  | #DEFAULT_HOST_MAPPINGS=() | ||||||
|  | #prod_HOST_MAPPINGS=(docker.univ-reunion.fr:10.82.70.154 repos.univ-reunion.fr:10.82.70.246 git.univ-reunion.fr:10.82.70.247) | ||||||
|  | #test_HOST_MAPPINGS=("${prod_HOST_MAPPINGS}") | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user