Actualiser 3.build.odoo.sh
This commit is contained in:
parent
c3368a0882
commit
a1333cd08b
1 changed files with 39 additions and 2 deletions
|
|
@ -5,8 +5,45 @@ source ./0.variables.env
|
|||
# ── Extraction des métadonnées depuis le Dockerfile ──────────────────────────
|
||||
DOCKERFILE=./config-odoo/"${1:-Dockerfile}"
|
||||
|
||||
ODOO_VERSION=$(grep -E '^\s*ENV ODOO_VERSION\s' "$DOCKERFILE" | awk '{print $3}')
|
||||
ODOO_RELEASE=$(grep -E '^\s*ARG ODOO_RELEASE=' "$DOCKERFILE" | cut -d'=' -f2)
|
||||
# ── Extraction des metadonnees depuis le Dockerfile ──────────────────────────
|
||||
# Fonction robuste. gere les directives ENV et ARG, les formes "X=Y" et "X Y",
|
||||
# et les valeurs entourees de guillemets. Retourne le premier token de la valeur.
|
||||
extract_dockerfile_var() {
|
||||
local key="$1"
|
||||
local file="$2"
|
||||
|
||||
[[ -f "$file" ]] || { echo "[extract] Fichier introuvable. $file" >&2; return 2; }
|
||||
|
||||
awk -v k="$key" '
|
||||
$0 ~ "^[[:space:]]*(ENV|ARG)[[:space:]]+" k "[[:space:]=]" {
|
||||
sub("^[[:space:]]*(ENV|ARG)[[:space:]]+" k "[[:space:]=]+", "")
|
||||
gsub(/"/, "")
|
||||
print $1
|
||||
exit
|
||||
}
|
||||
' "$file"
|
||||
}
|
||||
|
||||
DOCKERFILE="./config-odoo/${1:-Dockerfile}"
|
||||
|
||||
[[ -f "$DOCKERFILE" ]] || {
|
||||
echo "ERREUR. Dockerfile introuvable. $DOCKERFILE" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
ODOO_VERSION=$(extract_dockerfile_var "ODOO_VERSION" "$DOCKERFILE")
|
||||
ODOO_RELEASE=$(extract_dockerfile_var "ODOO_RELEASE" "$DOCKERFILE")
|
||||
ODOO_SHA=$(extract_dockerfile_var "ODOO_SHA" "$DOCKERFILE")
|
||||
|
||||
: "${ODOO_VERSION:?ODOO_VERSION non extrait depuis $DOCKERFILE}"
|
||||
: "${ODOO_RELEASE:?ODOO_RELEASE non extrait depuis $DOCKERFILE}"
|
||||
: "${ODOO_SHA:?ODOO_SHA non extrait depuis $DOCKERFILE}"
|
||||
|
||||
echo "Metadonnees extraites depuis $DOCKERFILE."
|
||||
echo " ODOO_VERSION = $ODOO_VERSION"
|
||||
echo " ODOO_RELEASE = $ODOO_RELEASE"
|
||||
echo " ODOO_SHA = $ODOO_SHA"
|
||||
|
||||
|
||||
if [[ -z "$ODOO_VERSION" || -z "$ODOO_RELEASE" ]]; then
|
||||
echo "ERREUR : impossible d'extraire ODOO_VERSION ou ODOO_RELEASE depuis $DOCKERFILE" >&2
|
||||
|
|
|
|||
Loading…
Reference in a new issue