剪切新版本时如何触发GitLab CI/CD管道?
我正在将我的项目从GitHub.com迁移到自托管的GitLab CE实例。我之前设置了一个GitHub操作管道,以便在从标记中删除新版本时发布应用程序。也就是说,当我转到剪切新版本时如何触发GitLab CI/CD管道?,gitlab,gitlab-ci-runner,gitlab-ce,Gitlab,Gitlab Ci Runner,Gitlab Ce,我正在将我的项目从GitHub.com迁移到自托管的GitLab CE实例。我之前设置了一个GitHub操作管道,以便在从标记中删除新版本时发布应用程序。也就是说,当我转到github.com///tags并编辑一个标记以发布发布版本时,以下*-workflow.yml脚本片段将触发我所需的操作: 关于: 发布: 类型:[已创建] GitLab CI/CD(.GitLab CI.yml)上的等价物是什么?我搜索了所有的辅助网站,比如gitlab.reddit.com和stackoverflow
github.com///tags
并编辑一个标记以发布发布版本时,以下*-workflow.yml
脚本片段将触发我所需的操作:
关于:
发布:
类型:[已创建]
GitLab CI/CD(.GitLab CI.yml
)上的等价物是什么?我搜索了所有的辅助网站,比如gitlab.reddit.com和stackoverflow,但找不到任何方法。需要明确的是,在GitLab中将标记转换为真实版本的步骤如下:
//-/releases/new
我希望GitLab在上面的第4步中立即执行我的
脚本。我不确定GitLab是否有类似的功能,或者至少在文档中找不到任何内容
解决方法可以是在创建标记后在CI管道中自动创建发布。因此,无论何时从特定分支创建标记,CI管道都将创建一个版本。您还可以使用$CI_COMMIT_标记
值控制发布
的创建
release:
stage: release
script:
- echo "Create release when a tag is created"
rules:
- if: '$CI_COMMIT_TAG' # Any tag is created
- if: '$CI_COMMIT_TAG =~ /^v\d+\.\d+\.\d+\-release/' # A specific tag with 'vX.Y.Z-release' pattern is created
release:
name: 'My awesome release'
tag_name: '$CI_COMMIT_TAG'
有关使用CI管道创建新的版本的更多信息,请阅读文档中的本页:
谢谢你的来电,雷扎。这是一个很好的解决方法,在需要发布每个匹配标记的情况下非常理想。您的建议将要求预先知道哪个版本将用于生产(例如,包括-release
),而不是在更多的手动测试或利益相关者批准后“升级”现有标签。我将不回答这个问题,因为理想情况下,我希望在创建上述版本时触发构建。希望还有别的办法。是的,你说得对。但是,我认为,如果你找不到任何其他解决方案,你仍然可以考虑一个特定的释放标签,经过良好的测试,并准备释放。然后,您可以使用此解决方案触发管道并创建新的发行版
。如果您没有找到任何其他解决方案,或者如果我的答案对您有所帮助,请接受或更新答案:)这将大大有助于我提高声誉。嗨,Reza,我高估了你的答案,因为我知道你尽了最大努力,我真诚地感谢你的回应。我将暂时不回答这个问题,以向其他人发出信号,表示我仍在GitLab上寻找正确的功能,如果它存在的话。