mirror of https://github.com/portainer/portainer
fix(stack/remote): pass forceRecreate setting [EE-7374] (#12051)
parent
b67ff87f35
commit
cc7f14951c
|
@ -31,6 +31,7 @@ const (
|
|||
type unpackerCmdBuilderOptions struct {
|
||||
pullImage bool
|
||||
prune bool
|
||||
forceRecreate bool
|
||||
composeDestination string
|
||||
registries []portainer.Registry
|
||||
}
|
||||
|
@ -61,11 +62,12 @@ func (d *stackDeployer) buildUnpackerCmdForStack(stack *portainer.Stack, operati
|
|||
return fn(stack, opts, registriesStrings, envStrings), nil
|
||||
}
|
||||
|
||||
// deploy [-u username -p password] [--skip-tls-verify] [--env KEY1=VALUE1 --env KEY2=VALUE2] <git-repo-url> <ref> <project-name> <destination> <compose-file-path> [<more-file-paths>...]
|
||||
// deploy [-u username -p password] [--skip-tls-verify] [--force-recreate] [-k] [--env KEY1=VALUE1 --env KEY2=VALUE2] <git-repo-url> <ref> <project-name> <destination> <compose-file-path> [<more-file-paths>...]
|
||||
func buildDeployCmd(stack *portainer.Stack, opts unpackerCmdBuilderOptions, registries []string, env []string) []string {
|
||||
cmd := []string{UnpackerCmdDeploy}
|
||||
cmd = appendGitAuthIfNeeded(cmd, stack)
|
||||
cmd = appendSkipTLSVerifyIfNeeded(cmd, stack)
|
||||
cmd = appendForceRecreateIfNeeded(cmd, opts.forceRecreate)
|
||||
cmd = append(cmd, env...)
|
||||
cmd = append(cmd, registries...)
|
||||
cmd = append(cmd,
|
||||
|
@ -125,12 +127,12 @@ func buildComposeStopCmd(stack *portainer.Stack, opts unpackerCmdBuilderOptions,
|
|||
return append(cmd, stack.AdditionalFiles...)
|
||||
}
|
||||
|
||||
// swarm-deploy [-u username -p password] [--skip-tls-verify] [-f] [-r] [--env KEY1=VALUE1 --env KEY2=VALUE2] <git-repo-url> <git-ref> <project-name> <destination> <compose-file-path> [<more-file-paths>...]
|
||||
// swarm-deploy [-u username -p password] [--skip-tls-verify] [--force-recreate] [-f] [-r] [-k] [--env KEY1=VALUE1 --env KEY2=VALUE2] <git-repo-url> <git-ref> <project-name> <destination> <compose-file-path> [<more-file-paths>...]
|
||||
func buildSwarmDeployCmd(stack *portainer.Stack, opts unpackerCmdBuilderOptions, registries []string, env []string) []string {
|
||||
cmd := []string{UnpackerCmdSwarmDeploy}
|
||||
cmd = appendGitAuthIfNeeded(cmd, stack)
|
||||
cmd = appendSkipTLSVerifyIfNeeded(cmd, stack)
|
||||
|
||||
cmd = appendForceRecreateIfNeeded(cmd, opts.forceRecreate)
|
||||
if opts.pullImage {
|
||||
cmd = append(cmd, "-f")
|
||||
}
|
||||
|
@ -193,6 +195,13 @@ func appendSkipTLSVerifyIfNeeded(cmd []string, stack *portainer.Stack) []string
|
|||
return append(cmd, "--skip-tls-verify")
|
||||
}
|
||||
|
||||
func appendForceRecreateIfNeeded(cmd []string, forceRecreate bool) []string {
|
||||
if forceRecreate {
|
||||
cmd = append(cmd, "--force-recreate")
|
||||
}
|
||||
return cmd
|
||||
}
|
||||
|
||||
func generateRegistriesStrings(registries []portainer.Registry, dataStore dataservices.DataStore) []string {
|
||||
cmds := []string{}
|
||||
|
||||
|
|
|
@ -70,7 +70,8 @@ func (d *stackDeployer) DeployRemoteComposeStack(
|
|||
endpoint,
|
||||
OperationDeploy,
|
||||
unpackerCmdBuilderOptions{
|
||||
registries: registries,
|
||||
forceRecreate: forceRecreate,
|
||||
registries: registries,
|
||||
},
|
||||
)
|
||||
}
|
||||
|
@ -119,10 +120,10 @@ func (d *stackDeployer) DeployRemoteSwarmStack(
|
|||
defer d.swarmStackManager.Logout(endpoint)
|
||||
|
||||
return d.remoteStack(stack, endpoint, OperationSwarmDeploy, unpackerCmdBuilderOptions{
|
||||
|
||||
pullImage: pullImage,
|
||||
prune: prune,
|
||||
registries: registries,
|
||||
pullImage: pullImage,
|
||||
prune: prune,
|
||||
forceRecreate: stack.AutoUpdate != nil && stack.AutoUpdate.ForceUpdate,
|
||||
registries: registries,
|
||||
})
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue