add function registry_login
This commit is contained in:
@@ -609,15 +609,38 @@ load_project_config() {
|
|||||||
auto_subversion=$(grep "^auto_subversion=" "$config_file" | cut -d= -f2 || echo "no")
|
auto_subversion=$(grep "^auto_subversion=" "$config_file" | cut -d= -f2 || echo "no")
|
||||||
}
|
}
|
||||||
|
|
||||||
# Registry-URL auslesen
|
# Gibt die URL einer Registry anhand des Config-Files zurück
|
||||||
get_registry_url() {
|
get_registry_url() {
|
||||||
local reg_name=$1
|
local reg=$1
|
||||||
local reg_file="$REGISTRY_CONFIG_DIR/$reg_name/config-file"
|
local reg_file="$REGISTRY_CONFIG_DIR/$reg.conf"
|
||||||
if [[ -f "$reg_file" ]]; then
|
if [[ ! -f "$reg_file" ]]; then
|
||||||
grep '^url=' "$reg_file" | cut -d= -f2
|
echo ""
|
||||||
else
|
return
|
||||||
echo "$reg_name"
|
|
||||||
fi
|
fi
|
||||||
|
grep -E '^url=' "$reg_file" | cut -d'=' -f2-
|
||||||
|
}
|
||||||
|
|
||||||
|
# Führt docker login für eine Registry anhand des Config-Files aus
|
||||||
|
registry_login() {
|
||||||
|
local reg=$1
|
||||||
|
local reg_file="$REGISTRY_CONFIG_DIR/$reg.conf"
|
||||||
|
|
||||||
|
if [[ ! -f "$reg_file" ]]; then
|
||||||
|
echo "Registry-Konfiguration '$reg' fehlt!"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local url username password
|
||||||
|
url=$(grep -E '^url=' "$reg_file" | cut -d'=' -f2-)
|
||||||
|
username=$(grep -E '^username=' "$reg_file" | cut -d'=' -f2-)
|
||||||
|
password=$(grep -E '^password=' "$reg_file" | cut -d'=' -f2-)
|
||||||
|
|
||||||
|
if [[ -z "$url" || -z "$username" || -z "$password" ]]; then
|
||||||
|
echo "Ungültige Registry-Konfig für $reg (url/username/password fehlt)!"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$password" | docker login "$url" -u "$username" --password-stdin
|
||||||
}
|
}
|
||||||
|
|
||||||
# Image bauen
|
# Image bauen
|
||||||
@@ -687,6 +710,15 @@ build_image() {
|
|||||||
build_cmd+=(--load)
|
build_cmd+=(--load)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Docker Login für jede Registry durchführen
|
||||||
|
for reg in $registry; do
|
||||||
|
if ! registry_login "$reg" >> "$logfile" 2>&1; then
|
||||||
|
echo "Login bei Registry '$reg' fehlgeschlagen!" >> "$logfile"
|
||||||
|
whiptail --msgbox "Login bei Registry '$reg' fehlgeschlagen! Build abgebrochen." 10 70
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
# Log-Ausgabe
|
# Log-Ausgabe
|
||||||
echo "${build_cmd[*]}" >> "$logfile"
|
echo "${build_cmd[*]}" >> "$logfile"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user