edit function build_image

This commit is contained in:
2025-09-28 12:59:22 +02:00
parent 0a19bf49d4
commit 41daccc455

View File

@@ -598,17 +598,30 @@ EOF
# Projektparameter laden
load_project_config() {
local config_file="$1"
registry=$(grep "^registry=" "$config_file" | cut -d= -f2)
local project="$1"
local config_file="$CONFIG_DIR/$project.conf"
if [[ -f "$config_file" ]]; then
echo "Lade Konfiguration für Projekt: $project"
image_name=$(grep "^image_name=" "$config_file" | cut -d= -f2)
architectures=$(grep "^architectures=" "$config_file" | cut -d= -f2)
push=$(grep "^push=" "$config_file" | cut -d= -f2)
dockerfile=$(grep "^dockerfile=" "$config_file" | cut -d= -f2)
context=$(grep "^context=" "$config_file" | cut -d= -f2)
version=$(grep "^version=" "$config_file" | cut -d= -f2)
latest=$(grep "^latest=" "$config_file" | cut -d= -f2)
git_repo=$(grep "^git_repo=" "$config_file" | cut -d= -f2)
auto_subversion=$(grep "^auto_subversion=" "$config_file" | cut -d= -f2 || echo "no")
architectures=$(grep "^architectures=" "$config_file" | cut -d= -f2)
registries=$(grep "^registries=" "$config_file" | cut -d= -f2)
# Architekturen vereinheitlichen → Kommata in Leerzeichen umwandeln
architectures="${architectures//,/ }"
# Mehrfache Leerzeichen säubern
architectures=$(echo "$architectures" | xargs)
echo "Geladene Konfiguration: image_name=$image_name, dockerfile=$dockerfile, context=$context, version=$version, architectures=$architectures, registries=$registries"
else
echo "Konfigurationsdatei $config_file nicht gefunden!"
exit 1
fi
}
# Gibt die URL einer Registry anhand des Config-Files zurück
get_registry_url() {
local reg=$1
@@ -664,17 +677,23 @@ build_image() {
echo "====================================" | tee -a "$logfile"
# Architekturen-Array vorbereiten
load_project_config "$project"
local platforms=""
local arch_array=()
# Split nach Leerzeichen
read -r -a arch_array <<< "$architectures"
platforms=""
for arch in "${arch_array[@]}"; do
case "$arch" in
amd64) platforms+="linux/amd64," ;;
arm64) platforms+="linux/arm64," ;;
armhf) platforms+="linux/arm/v7," ;;
x86) platforms+="linux/386," ;;
*) echo "WARNUNG: Unbekannte Architektur '$arch' wird ignoriert." | tee -a "$logfile" ;;
*) echo "WARNUNG: Unbekannte Architektur '$arch' wird ignoriert." ;;
esac
done
platforms="${platforms%,}"
echo "DEBUG platforms='$platforms'" | tee -a "$logfile"