fix: strip published port flags when triggering deploy tasks
Closes #4664
This commit is contained in:
@@ -230,15 +230,39 @@ func executeScript(appName string, image string, imageTag string, phase string)
|
||||
dockerArgs = append(dockerArgs, words...)
|
||||
}
|
||||
|
||||
filteredArgs := []string{"restart", "cpus", "memory", "memory-swap", "memory-reservation", "gpus"}
|
||||
filteredArgs := []string{
|
||||
"--cpus",
|
||||
"--gpus",
|
||||
"--memory",
|
||||
"--memory-reservation",
|
||||
"--memory-swap",
|
||||
"--publish",
|
||||
"--publish-all",
|
||||
"--restart",
|
||||
"-p",
|
||||
"-P",
|
||||
}
|
||||
for _, filteredArg := range filteredArgs {
|
||||
// re := regexp.MustCompile("--" + filteredArg + "=[0-9A-Za-z!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]+ ")
|
||||
|
||||
skipNext := false
|
||||
var filteredDockerArgs []string
|
||||
for _, dockerArg := range dockerArgs {
|
||||
if !strings.HasPrefix(dockerArg, "--"+filteredArg+"=") {
|
||||
filteredDockerArgs = append(filteredDockerArgs, dockerArg)
|
||||
if skipNext {
|
||||
skipNext = false
|
||||
continue
|
||||
}
|
||||
|
||||
if strings.HasPrefix(dockerArg, filteredArg+"=") {
|
||||
continue
|
||||
}
|
||||
|
||||
if dockerArg == filteredArg {
|
||||
skipNext = true
|
||||
continue
|
||||
}
|
||||
|
||||
filteredDockerArgs = append(filteredDockerArgs, dockerArg)
|
||||
}
|
||||
|
||||
dockerArgs = filteredDockerArgs
|
||||
|
||||
@@ -36,9 +36,16 @@ scheduler-docker-local-pre-deploy-chown-app() {
|
||||
if [[ -n "$APP_PATHS" ]]; then
|
||||
CONTAINER_PATHS=$(echo "$APP_PATHS" | awk -F ':' '{ print $2 }' | xargs)
|
||||
DOCKER_ARGS=$(: | plugn trigger docker-args-deploy "$APP" "$IMAGE_TAG")
|
||||
# strip --restart args from DOCKER_ARGS
|
||||
# shellcheck disable=SC2001
|
||||
DOCKER_ARGS=$(sed -e "s/--restart=[[:graph:]]\+[[:blank:]]\?//g" <<<"$DOCKER_ARGS")
|
||||
|
||||
filterdArgs=("--cpus" "--gpus" "--memory" "--memory-reservation" "--memory-swap" "--publish" "--publish-all" "-p" "-P")
|
||||
for filteredArg in "${filterdArgs[@]}"; do
|
||||
# shellcheck disable=SC2001
|
||||
DOCKER_ARGS=$(sed -e "s/$filteredArg=[[:graph:]]\+[[:blank:]]\?//g" <<<"$DOCKER_ARGS")
|
||||
|
||||
# shellcheck disable=SC2001
|
||||
DOCKER_ARGS=$(sed -e "s/$filteredArg\+[[:blank:]][[:graph:]]\+[[:blank:]]\?//g" <<<"$DOCKER_ARGS")
|
||||
done
|
||||
|
||||
eval "ARG_ARRAY=($DOCKER_ARGS)"
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user