Compare commits

..

No commits in common. "1b7b2744ba3b2863cc8e0c522b9cef26d0dc6d67" and "771bd1c563192f81111e23ad12c98605e3a6aea0" have entirely different histories.

11 changed files with 37 additions and 170 deletions

View File

@ -1,13 +1,3 @@
## Version 11.0.0 du 05/09/2023-14:29
* `ddfbc00` maj des images par défaut dk et dkbuild
* `e33f2a5` ajout registry privé
* `f245e17` image par défaut en prod
* `efe31b8` support java17
* `5cb4112` dkbuild: bug profil unitaire
* `f424f41` dkbuild: -u n'implique plus -b
* `e5a1473` dkbuild: implémenter -u
## Version 10.0.0 du 12/08/2023-21:06
* `bfdf9b5` support système sans python2

View File

@ -1 +1 @@
11.0.0
10.0.0

25
dk
View File

@ -2414,20 +2414,6 @@ fi
[ -n "$COMPOSE_V1" ] && DOCKER_COMPOSE=(docker-compose) || DOCKER_COMPOSE=(docker compose)
DEFAULT_PROFILE=devel
case "$PROFILE" in
jclain)
REGISTRY=docker.jclain.fr
PRIVAREG=docker.jclain.fr
;;
devel)
REGISTRY=docker.devel.self
PRIVAREG=docker.devel.self
;;
prod|test|*)
REGISTRY=pubdocker.univ-reunion.fr
PRIVAREG=pridocker.univ-reunion.fr
;;
esac
PROFILE=
DM_ALIASES=()
DM_PROFILES=()
@ -2435,14 +2421,13 @@ CLUSTERDIRS=()
DEFAULT_DEVEL_SRCDIR="$HOME/wop"
COMPOSER_DEVEL_SRCDIR="$HOME/wop/php"
MAVEN_DEVEL_SRCDIR="$HOME/wop/sn"
DEFAULT_COMPOSER_IMAGE="$REGISTRY/image/phpbuilder:d11"
DEFAULT_MAVEN_IMAGE="$REGISTRY/image/javabuilder:d11"
DEFAULT_COMPOSER_IMAGE=docker.univ-reunion.fr/image/phpbuilder
DEFAULT_MAVEN_IMAGE=docker.univ-reunion.fr/image/javabuilder
DEFAULT_HOST_MAPPINGS=()
prod_HOST_MAPPINGS=(
pridocker.univ-reunion.fr:10.85.1.56
pubdocker.univ-reunion.fr:10.85.1.57
repos.univ-reunion.fr:10.85.1.57
git.univ-reunion.fr:10.85.1.55
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

56
dkbuild
View File

@ -9,10 +9,10 @@ TEMPLATEDIR="$scriptdir/lib/dkbuild/templates"
[ -n "$COMPOSE_V1" ] && DOCKER_COMPOSE=(docker-compose) || DOCKER_COMPOSE=(docker compose)
function get_default_phpbuilder_image() {
echo "${REGISTRY:-pubdocker.univ-reunion.fr}/image/phpbuilder:${DIST:-d11}"
echo "${REGISTRY:-docker.univ-reunion.fr}/image/phpbuilder:${DIST:-d11}"
}
function get_default_javabuilder_image() {
echo "${REGISTRY:-pubdocker.univ-reunion.fr}/image/javabuilder:d11"
echo "${REGISTRY:-docker.univ-reunion.fr}/image/javabuilder:d11"
}
##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -111,18 +111,10 @@ $scriptname build [OPTIONS] [BUILDVARS...]
Spécifier la valeur d'un argument de build. Cette valeur remplace la
valeur par défaut spécifiée dans le fichier de build.
-u, --clean-update
Avant de faire le build, faire un clean, suivi de git pull. C'est la
méthode préférée pour mettre à jour le dépôt s'il y a des fichiers
synchronisé avec la commande 'copy', parce que sinon les fichiers
sources (mis à jour par git pull) sont désynchronisés d'avec les
fichiers destination.
--clone-src-only
Ne faire que cloner les dépôts sources mentionnés avec la commande
'checkout'
Ne faire que cloner les dépôts sources
--update-src-only
Ne faire que mettre à jour les dépôts sources mentionnés avec la
commande 'checkout'
Ne faire que mettre à jour les dépôts sources
--update-src
Avec la commande 'checkout', mettre à jour les dépôts avant de faire le
build. C'est la valeur par défaut.
@ -133,8 +125,7 @@ $scriptname build [OPTIONS] [BUILDVARS...]
Ne pas mettre à jour le dépôt, préférer la synchronisation depuis la
version de développement d'un dépôt
-s, --sync-src
Avec la commande 'copy', effectuer la mise à jour des fichiers. C'est la
valeur par défaut si on construit l'image
Avec la commande 'copy', effectuer la mise à jour des fichiers
--no-sync-src
Ne pas mettre à jour les fichiers. La commande 'copy' devient un NOP si
le fichier destination existe.
@ -142,7 +133,7 @@ $scriptname build [OPTIONS] [BUILDVARS...]
Construire les images
--no-cache
Ne pas utiliser le cache lors du build
-U, --pull-image
-u, --pull-image
Essayer de récupérer une version plus récente de l'image source
-p, --push-image
Pousser les images construites vers la registry
@ -1427,14 +1418,12 @@ function resolve_dists_profiles() {
}
load_dkbuild
local MANUAL_SETPROFILES=
if [ -z "$SETPROFILES_DONE" -a -n "$PROFILE" ]; then
# Si l'utilisateur spécifie un profil mais qu'aucun profil n'a été
# défini dans la configuration, considérer que c'est cet unique profil
# qui a été défini
SETPROFILES=("$PROFILE")
SETPROFILES_DONE=1
MANUAL_SETPROFILES=1
fi
## ensuite vérifier si on est dans la bonne distribution
@ -1501,10 +1490,6 @@ function resolve_dists_profiles() {
}
load_dkbuild
if [ -n "$MANUAL_SETPROFILES" ]; then
setprofiles "$PROFILE"
fi
## Si pas de distribution ou de profil, remplacer par valeur vide
if [ ${#DISTS[*]} -eq 0 ]; then
SETDISTS=("")
@ -2786,16 +2771,12 @@ function build_action() {
eval "$SHARED_LOCALS1; $SHARED_LOCALS2"
local action=build
local machine
local clean_update clean_opt=-X
local clone_src_only update_src_only update_src sync_src
local build no_cache pull_image
local push_image
local -a args; args=(
"${SHARED_ARGS1[@]}" "${SHARED_ARGS2[@]}"
-m:,--machine: machine=
-u,--clean-update clean_update=1
-X,--clean-ignored clean_opt=-X
-x,--clean-untracked clean_opt=-x
--clone-src-only clone_src_only=1
--update-src-only update_src_only=1
--update-src update_src=1
@ -2805,7 +2786,7 @@ function build_action() {
--no-sync-src sync_src=no
-b,--build build=1
--no-cache no_cache=1
-U,--pull-image pull_image=1
-u,--pull-image pull_image=1
-p,--push-image push_image=1
)
parse_args "$@"; set -- "${args[@]}"
@ -2818,7 +2799,7 @@ function build_action() {
action=build
[ -n "$update_src" ] || update_src=1
[ "$update_src" == no ] && update_src=
if [ -z "$clean_update" -a -z "$sync_src" -a -z "$build" -a -z "$push_image" ]; then
if [ -z "$sync_src" -a -z "$build" -a -z "$push_image" ]; then
sync_src=1
build=1
fi
@ -2834,17 +2815,6 @@ function build_action() {
setarg "${TMPARGS[@]}"
setarg "$@"
if [ -n "$clean_update" ]; then
edebug "clean"
_clean_git_clean -f || die
edebug "update"
git pull || die
edebug "sync"
[ -n "$build" ] && sync_src=1
fi
case "$action" in
clone_src)
die "Pas encore implémenté" #XXX
@ -2900,7 +2870,7 @@ function _build_after() {
## clean
function _clean_git_clean() {
LANG=C git clean -d $clean_opt "$@" |
LANG=C git clean -d $opt "$@" |
grep -vE '^(Would skip|Skipping) ' |
sed -r 's/^Would remove //'
}
@ -2912,16 +2882,16 @@ function _clean_git_status() {
function clean_action() {
eval "$SHARED_LOCALS1"
local clean_opt=-X all=
local opt=-X all=
local -a args; args=(
"${SHARED_ARGS1[@]}"
-X,--ignored clean_opt=-X
-x,--untracked clean_opt=-x
-X,--ignored opt=-X
-x,--untracked opt=-x
-a,--all all=1
)
parse_args "$@"; set -- "${args[@]}"
[ -n "$all" ] && clean_opt=-x
[ -n "$all" ] && opt=-x
edebug "clean_action"
ensure_projdir

View File

@ -20,27 +20,10 @@
#MAVEN_DEVEL_SRCDIR="$HOME/wop/sn"
# Image à utiliser pour les builds
#DEFAULT_COMPOSER_IMAGE=pubdocker.univ-reunion.fr/image/phpbuilder:d11
#DEFAULT_MAVEN_IMAGE=pubdocker.univ-reunion.fr/image/javabuilder:d11
#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=(pridocker.univ-reunion.fr:10.85.1.56 pubdocker.univ-reunion.fr:10.85.1.57 repos.univ-reunion.fr:10.85.1.57 git.univ-reunion.fr:10.85.1.55)
#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}")
#case "$PROFILE" in
#jclain)
# REGISTRY=docker.jclain.fr
# PRIVAREG=docker.jclain.fr
# ;;
#devel)
# REGISTRY=docker.devel.self
# PRIVAREG=docker.devel.self
# ;;
#prod|test|*)
# REGISTRY=pubdocker.univ-reunion.fr
# PRIVAREG=pridocker.univ-reunion.fr
# ;;
#esac
#: ${DEFAULT_COMPOSER_IMAGE:=$REGISTRY/image/phpbuilder:d11}
#: ${DEFAULT_MAVEN_IMAGE:=$REGISTRY/image/javabuilder:d11}

View File

@ -1,11 +1,8 @@
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
if profile jclain; then
setenv REGISTRY=docker.jclain.fr
setenv PRIVAREG=docker.jclain.fr
elif profile prod test; then
setenv REGISTRY=pubdocker.univ-reunion.fr
setenv PRIVAREG=pridocker.univ-reunion.fr
setenv REGISTRY=docker.univ-reunion.fr
else
setenv REGISTRY=docker.devel.self
setenv PRIVAREG=docker.devel.self
fi

View File

@ -1,3 +1,3 @@
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
setenv REGISTRY=pubdocker.univ-reunion.fr
setenv REGISTRY=docker.univ-reunion.fr
setenv IMAGE=$REGISTRY/GROUP/NAME

View File

@ -1,4 +1,4 @@
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
setenv REGISTRY=pubdocker.univ-reunion.fr
setenv REGISTRY=docker.univ-reunion.fr
setenv IMAGE=$REGISTRY/GROUP/NAME
setenv DIST=d11

View File

@ -1,4 +1,4 @@
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
setenv REGISTRY=pubdocker.univ-reunion.fr
setenv REGISTRY=docker.univ-reunion.fr
setenv IMAGE=$REGISTRY/GROUP/NAME
setenv DIST=d11

View File

@ -1,9 +1,9 @@
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
setenv REGISTRY=pubdocker.univ-reunion.fr
setenv REGISTRY=docker.univ-reunion.fr
setenv IMAGE=$REGISTRY/group/name
info "IMAGE=$IMAGE"
if [ "$REGISTRY" == pubdocker.univ-reunion.fr ]; then
if [ "$REGISTRY" == docker.univ-reunion.fr ]; then
note "\
Essayer de relancer avec
$(qvals dkbuild -j "$(relpath "$DKBUILD")" -c registry.env)

View File

@ -15,7 +15,6 @@ JAVA_VMS6=(); JAVA_HOMES6=()
JAVA_VMS7=(); JAVA_HOMES7=()
JAVA_VMS8=(); JAVA_HOMES8=()
JAVA_VMS11=(); JAVA_HOMES11=()
JAVA_VMS17=(); JAVA_HOMES17=()
# versions locales 32 bits
JAVA32_VMS1_3=(); JAVA32_HOMES1_3=()
JAVA32_VMS1_4=(); JAVA32_HOMES1_4=()
@ -24,14 +23,12 @@ JAVA32_VMS6=(); JAVA32_HOMES6=()
JAVA32_VMS7=(); JAVA32_HOMES7=()
JAVA32_VMS8=(); JAVA32_HOMES8=()
JAVA32_VMS11=(); JAVA32_HOMES11=()
JAVA32_VMS17=(); JAVA32_HOMES17=()
# versions locales 64 bits
JAVA64_VMS5=(); JAVA64_HOMES5=()
JAVA64_VMS6=(); JAVA64_HOMES6=()
JAVA64_VMS7=(); JAVA64_HOMES7=()
JAVA64_VMS8=(); JAVA64_HOMES8=()
JAVA64_VMS11=(); JAVA64_HOMES11=()
JAVA64_VMS17=(); JAVA64_HOMES17=()
# version sélectionnée
SELECTED_JAVA_VM=; SELECTED_JAVA_HOME=
SELECTED_JAVA=; SELECTED_JAVAC=
@ -112,14 +109,6 @@ function __java_compute_vms() {
__java_add HOMES8 "$HOME/opt/jvm64/$vm" 64
fi
done
array_from_lines vms "$(list_dirs "$HOME/opt/jvm64" jdk17)"
for vm in "${vms[@]}"; do
v="${vm#jdk}"
if [ "$v" == 17 ]; then
__java_add VMS17 "$vm" 64
__java_add HOMES17 "$HOME/opt/jvm64/$vm" 64
fi
done
array_from_lines vms "$(list_dirs "$HOME/opt/jvm64" jdk11)"
for vm in "${vms[@]}"; do
v="${vm#jdk}"
@ -153,11 +142,6 @@ function __java_compute_vms() {
__java_add VMS11 "$vm" 64
__java_add HOMES11 "$HOME/opt/jvm64/$vm" 64
done
array_from_lines vms "$(list_dirs "$HOME/opt/jvm64" "jdk-17.*" | LANG=C sort -r)"
for vm in "${vms[@]}"; do
__java_add VMS17 "$vm" 64
__java_add HOMES17 "$HOME/opt/jvm64/$vm" 64
done
# Puis chercher dans les JVMs installées manuellement dans ~/opt
array_from_lines vms "$(list_dirs "$HOME/opt" "sun-jdk-*")"
for vm in "${vms[@]}"; do
@ -187,14 +171,6 @@ function __java_compute_vms() {
__java_add HOMES11 "$HOME/opt/$vm"
fi
done
array_from_lines vms "$(list_dirs "$HOME/opt" jdk17)"
for vm in "${vms[@]}"; do
v="${vm#jdk}"
if [ "$v" == 17 ]; then
__java_add VMS17 "$vm"
__java_add HOMES17 "$HOME/opt/$vm"
fi
done
array_from_lines vms "$(list_dirs "$HOME/opt" "j2sdk1.4.2*" | LANG=C sort -r)"
for vm in "${vms[@]}"; do
__java_add VMS1_4 "$vm"
@ -225,11 +201,6 @@ function __java_compute_vms() {
__java_add VMS11 "$vm"
__java_add HOMES11 "$HOME/opt/$vm"
done
array_from_lines vms "$(list_dirs "$HOME/opt" "jdk-17.*" | LANG=C sort -r)"
for vm in "${vms[@]}"; do
__java_add VMS17 "$vm"
__java_add HOMES17 "$HOME/opt/$vm"
done
# Puis chercher dans les JVMs installées manuellement dans /opt
array_from_lines vms "$(list_dirs "/opt" "sun-jdk-*")"
for vm in "${vms[@]}"; do
@ -259,14 +230,6 @@ function __java_compute_vms() {
__java_add HOMES11 "/opt/$vm"
fi
done
array_from_lines vms "$(list_dirs "/opt" jdk17)"
for vm in "${vms[@]}"; do
v="${vm#jdk}"
if [ "$v" == 17 ]; then
__java_add VMS17 "$vm"
__java_add HOMES17 "/opt/$vm"
fi
done
array_from_lines vms "$(list_dirs "/opt" "j2sdk1.4.2*" | LANG=C sort -r)"
for vm in "${vms[@]}"; do
__java_add VMS1_4 "$vm"
@ -297,11 +260,6 @@ function __java_compute_vms() {
__java_add VMS11 "$vm"
__java_add HOMES11 "/opt/$vm"
done
array_from_lines vms "$(list_dirs "/opt" "jdk-17.*" | LANG=C sort -r)"
for vm in "${vms[@]}"; do
__java_add VMS17 "$vm"
__java_add HOMES17 "/opt/$vm"
done
# Puis chercher dans les JVMs installées par le système dans
# /usr/lib/jvm
if check_sysinfos -d gentoo; then
@ -354,9 +312,6 @@ function __java_compute_vms() {
elif [ "$v" == 11 ]; then
__java_add VMS11 "$vm"
__java_add HOMES11 "/usr/lib/jvm/$vm"
elif [ "$v" == 17 ]; then
__java_add VMS17 "$vm"
__java_add HOMES17 "/usr/lib/jvm/$vm"
fi
done
if [ -d /usr/lib/j2sdk1.4-sun ]; then
@ -398,7 +353,7 @@ function __java_compute_vms() {
function __java_dump_vms() {
local v b i vms homes
for v in 1_3 1_4 5 6 7 8 11 17; do
for v in 1_3 1_4 5 6 7 8 11; do
for b in "" 32 64; do
vms="JAVA${b}_VMS${v}[@]"; vms=("${!vms}")
homes="JAVA${b}_HOMES${v}[@]"; homes=("${!homes}")
@ -429,7 +384,7 @@ function __java_select_vms() {
}
function __java_select() {
# Sélectionner la version de java $1 (qui peut être 1_3, 1_4, 5, 6, 7, 8, 11, 17)
# Sélectionner la version de java $1 (qui peut être 1_3, 1_4, 5, 6, 7, 8 ou 11)
# Si $2 est défini, il peut s'agit de 32 ou 64 selon que l'on requière la
# version 32bits ou 64 bits. Sinon, la version sélectionnée peut être 32bits
# ou 64bits selon ce qui est disponible.
@ -473,7 +428,7 @@ function __java_select() {
function __java_select_default() {
# Sélectionner la version de java par défaut. Si JAVA_HOME est défini,
# prendre cette valeur. Sinon, essayer dans l'ordre 5, 6, 7, 8, 11, 17 puis 1_4
# prendre cette valeur. Sinon, essayer dans l'ordre 5, 6, 7, 8, 11 puis 1_4
# la version 1_3 n'est jamais sélectionnée automatiquement
if [ -n "$JAVA_HOME" ]; then
export JAVA_HOME # s'assurer que cette variable est exportée
@ -485,7 +440,7 @@ function __java_select_default() {
return 0
fi
local vm
for vm in 5 6 7 8 11 17 1_4; do
for vm in 5 6 7 8 11 1_4; do
__java_select "$vm" && return 0
done
return 1
@ -493,7 +448,7 @@ function __java_select_default() {
function select_java() {
# sélectionner la version *minimum* de java correspondant à $1
# $1 == 1.3|1.3+|1.4|1.4+|1.5|1.5+|1.6|1.6+|1.7|1.7+|1.8|1.8+|11|11+|17|17+
# $1 == 1.3|1.3+|1.4|1.4+|1.5|1.5+|1.6|1.6+|1.7|1.7+|1.8|1.8+|11|11+
# Si $2 est défini, il peut s'agit de 32 ou 64 selon que l'on requière la
# version 32bits ou 64 bits
local v vms homes
@ -534,19 +489,14 @@ function select_java() {
__java_select "$v" "$2" && return 0
done
;;
17|17+)
for v in 17; do
__java_select "$v" "$2" && return 0
done
;;
esac
return 1
}
function select_java_exact() {
# sélectionner la version *exacte* de java correspondant à $1
# $1 == 1.3|1.4|1.5|1.6|1.7|1.8|11|17 pour une correspondance exacte
# $1 == 1.3+|1.4+|1.5+|1.6+|1.7+|1.8+|11+|17+ pour une version minimum
# $1 == 1.3|1.4|1.5|1.6|1.7|1.8|11 pour une correspondance exacte
# $1 == 1.3+|1.4+|1.5+|1.6+|1.7+|1.8+|11+ pour une version minimum
# Si $2 est défini, il peut s'agit de 32 ou 64 selon que l'on requière la
# version 32bits ou 64 bits
local v vms homes
@ -608,14 +558,6 @@ function select_java_exact() {
__java_select "$v" "$2" && return 0
done
;;
17)
__java_select 17 "$2" && return 0
;;
17+)
for v in 17; do
__java_select "$v" "$2" && return 0
done
;;
esac
return 1
}
@ -624,9 +566,9 @@ function select_java_any() {
# Sélectionner la version exacte de java correspondant aux arguments, dans
# l'ordre, jusqu'à ce qu'un argument corresponde. DEFAULT correspond à la
# valeur actuelle de JAVA_HOME, si elle est définie.
# Si aucun argument n'est défini, on assume "DEFAULT 5 6 7 8 11 17 1.4"
# Si aucun argument n'est défini, on assume "DEFAULT 5 6 7 8 11 1.4"
local v
[ -n "$*" ] || set -- DEFAULT 5 6 7 8 11 17 1.4
[ -n "$*" ] || set -- DEFAULT 5 6 7 8 11 1.4
for v in "$@"; do
if [ "$v" == DEFAULT ]; then
if [ -n "$JAVA_HOME" ]; then