我正在将我的项目从GitHub.com迁移到自托管的GitLab CE实例。我之前设置了一个GitHubActions管道,以便在从标签中剪切出新版本时发布应用程序。也就是说,当我转到github.com/<organization>/<project>/tags
并编辑标签以发布发布时,以下*-workflow.yml
脚本片段将触发我想要的操作:
on:
release:
types: [created]
GitLab CI/CD(.gitlab-ci.yml
(上的等价物是什么?我搜索了所有的GitLab文档和辅助网站,如GitLab.redit.com和Stack Overflow,但找不到任何方法。需要明确的是,在GitLab中将标签转换为真正发布的步骤如下:
- 转到
<GitLab CE>/<group>/<project>/-/releases/new
- "从";列表中的任何标记
- 填写详细信息
- 点击";创建发布"按钮
我希望GitLab在上面的步骤4之后立即执行我的script
。
我不确定Gitlab是否有类似的功能,或者至少我在文档中找不到任何东西。
解决方法可以是在创建标记后在CI管道中自动创建发布。因此,每当从特定分支创建标记时,CI管道都会创建一个发布。也可以使用$CI_COMMIT_TAG
值控制Release
的创建。
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 =~ /^vd+.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
的更多信息,您可以从以下文档中阅读此页:
从GitLab CI 创建发布