github.com/profzone/eden-framework@v1.0.10/internal/workflows/gitflow.go (about) 1 package workflows 2 3 import ( 4 "fmt" 5 "github.com/profzone/eden-framework/internal/project" 6 ) 7 8 func init() { 9 project.RegisterWorkFlow("gitflow", Gitflow) 10 } 11 12 var Gitflow = &project.Workflow{ 13 BranchFlows: project.BranchFlows{ 14 "develop": { 15 Env: map[string]string{ 16 "GOENV": "STAGING", 17 }, 18 Jobs: project.Jobs{ 19 DefaultJobForTest, 20 DefaultJobForBuild, 21 DefaultJobForShip.Merge(&project.Job{ 22 Run: project.Script{fmt.Sprintf("%s --latest", BaseShipScript)}, 23 }), 24 DefaultJobForDeploy.Merge(&project.Job{ 25 Run: project.Script{fmt.Sprintf("%s --latest", BaseDeployScript)}, 26 }), 27 }, 28 }, 29 `release/*`: { 30 Env: map[string]string{ 31 "GOENV": "TEST", 32 }, 33 Jobs: project.Jobs{ 34 DefaultJobForTest, 35 DefaultJobForBuild, 36 DefaultJobForShip.Merge(&project.Job{ 37 Run: project.Script{fmt.Sprintf("%s --suffix ${CI_ENVIRONMENT_NAME}", BaseShipScript)}, 38 }), 39 DefaultJobForDeploy.Merge(&project.Job{ 40 Run: project.Script{fmt.Sprintf("%s --suffix ${CI_ENVIRONMENT_NAME}", BaseDeployScript)}, 41 }), 42 }, 43 }, 44 "master": { 45 Env: map[string]string{ 46 "GOENV": "DEMO", 47 }, 48 Jobs: project.Jobs{ 49 DefaultJobForTest, 50 DefaultJobForBuild, 51 DefaultJobForShip, 52 DefaultJobForDeploy, 53 }, 54 }, 55 }, 56 }