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  }