refactor: execute the predeploy script during the pre-release-builder plugin trigger
This fixes an issue where the post-release-builder trigger inadvertently modifies the image. We take advantage of the fact that env vars are available at the `pre-release-builder` phase to ensure any image modifications occur as appropriate.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
SUBCOMMANDS = subcommands/report subcommands/set
|
||||
TRIGGERS = triggers/app-json-process-deploy-parallelism triggers/app-json-get-content triggers/core-post-deploy triggers/core-post-extract triggers/install triggers/post-app-clone-setup triggers/post-app-rename triggers/post-app-rename-setup triggers/post-create triggers/post-delete triggers/post-deploy triggers/post-release-builder triggers/report
|
||||
TRIGGERS = triggers/app-json-process-deploy-parallelism triggers/app-json-get-content triggers/core-post-deploy triggers/core-post-extract triggers/install triggers/post-app-clone-setup triggers/post-app-rename triggers/post-app-rename-setup triggers/post-create triggers/post-delete triggers/post-deploy triggers/post-release-builder triggers/pre-release-builder triggers/report
|
||||
BUILD = commands subcommands triggers
|
||||
PLUGIN_NAME = app-json
|
||||
|
||||
|
||||
@@ -61,6 +61,11 @@ func main() {
|
||||
appName := flag.Arg(1)
|
||||
image := flag.Arg(2)
|
||||
err = appjson.TriggerPostReleaseBuilder(builderType, appName, image)
|
||||
case "pre-release-builder":
|
||||
builderType := flag.Arg(0)
|
||||
appName := flag.Arg(1)
|
||||
image := flag.Arg(2)
|
||||
err = appjson.TriggerPreReleaseBuilder(builderType, appName, image)
|
||||
case "report":
|
||||
appName := flag.Arg(0)
|
||||
err = appjson.ReportSingleApp(appName, "", "")
|
||||
|
||||
@@ -212,14 +212,16 @@ func TriggerPostDeploy(appName string, imageTag string) error {
|
||||
return executeScript(appName, image, imageTag, "postdeploy")
|
||||
}
|
||||
|
||||
func TriggerPreReleaseBuilder(builderType string, appName string, image string) error {
|
||||
parts := strings.Split(image, ":")
|
||||
imageTag := parts[len(parts)-1]
|
||||
return executeScript(appName, image, imageTag, "predeploy")
|
||||
}
|
||||
|
||||
// TriggerPostReleaseBuilder is a trigger to execute predeploy and release deployment tasks
|
||||
func TriggerPostReleaseBuilder(builderType string, appName string, image string) error {
|
||||
parts := strings.Split(image, ":")
|
||||
imageTag := parts[len(parts)-1]
|
||||
if err := executeScript(appName, image, imageTag, "predeploy"); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := executeScript(appName, image, imageTag, "release"); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user