1 Star 0 Fork 0

eden-framework / eden-framework

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
workflow_transform_gitlab.go 1.17 KB
一键复制 编辑 原始数据 按行查看 历史
文兄 提交于 2024-01-16 13:48 . fix. go version 1.21, proc_id.go.patch
package project
import (
"fmt"
"gitee.com/eden-framework/context"
str "gitee.com/eden-framework/strings"
"strings"
)
var DefaultCICache = CICache{
Key: "${CI_BUILD_REF}_${CI_BUILD_REF_NAME}",
UnTracked: true,
}
func (w *Workflow) ToCIConfig(project *Project) *CIConfig {
ciConfig := NewCIConfig().
WithCache(DefaultCICache).
WithStages(STAGE_TEST, STAGE_BUILD, STAGE_SHIP, STAGE_DEPLOY)
for branch, branchFlow := range w.BranchFlows {
if !branchFlow.Skip {
for _, job := range branchFlow.Jobs {
if !job.Skip {
envVars := context.EnvVars{}
envVars.LoadFromEnviron()
image := fmt.Sprintf(
"${%s}/${%s}",
EnvKeyDockerRegistryKey,
strings.ToUpper(envVars.Parse(job.Builder)),
)
image = envVars.Parse(image)
ciJob := NewCIJob(job.Stage).
WithTags(project.Group).
WithEnv(branchFlow.Env["GOENV"]).
WithImage(image).
WithArtifacts(job.Artifacts).
WithScript(job.Run...)
if branch != "*" {
ciJob = ciJob.WithOnly(branch)
}
ciConfig = ciConfig.AddJob(
fmt.Sprintf("%s_%s", str.ToLowerCamelCase(branch), job.Stage),
ciJob,
)
}
}
}
}
return ciConfig
}
1
https://gitee.com/eden-framework/eden-framework.git
git@gitee.com:eden-framework/eden-framework.git
eden-framework
eden-framework
eden-framework
v2.0.2

搜索帮助