gitlab - 合并请求批准并合并后为 gitlab 分支添加标签
问题描述
- 我们想在默认开发分支中merge_request 批准/合并后添加一个标签
- 添加此开发版本标签后,我们还想做源代码编译
- 一旦编译通过,将目标构建保存到本地服务器以进行测试。
似乎gitlab仍然没有官方支持它,有什么非官方的API或好的解决方案吗?
最重要的部分是如何在merge_requst之后触发这个工作。
谢谢
解决方案
为了解决这个流程,我建议采用以下一般方法:
- 创建一个在分支上
only
运行的作业并创建一个 git 标签:develop
git tag $TAG_NAME && git push --tags
- 创建另一个也在分支
only
上运行的作业,但是从第 1 点开始的作业并进行代码编译develop
needs
- 创建第三个作业,该
needs
作业从第 2 点开始only
运行,并develop
通过 或类似方法将工件复制到您提到的本地服务器。scp
sftp
重要的部分是在分支上运行 CI 作业,develop
因为这是在合并后挂钩的唯一选项。
一些文档将帮助您创建所需的特定解决方案:
关于 gitlab 上的 ssh (sftp/scp) -> https://docs.gitlab.com/ee/ci/ssh_keys/#ssh-keys-when-using-the-shell-executor
git tag
-> https://git-scm.com/docs/git-taggit push
-> https://git-scm.com/docs/git-push关于
git push
在 gitlab-ci -> https://docs.gitlab.com/ee/topics/git/tags.html
推荐阅读
- javascript - 错误 redirect_uri:“不是格式正确的 URL。” 在不和谐的 OAuth2 中
- kotlin - 使用 Quarkus / Kotlin 上传多部分文件
- typescript - 在角度 9 中迭代未排序的对象
- typescript - TypeScript 项目无法编译为正确的 index.js
- linux - 如何在linux中用当前日期重命名目录中的所有文件
- javascript - React:从嵌套数据集中填充选择选项选项卡
- java - 将 Double.MAX_VALUE 分配给变量时有什么用?(这里是初学者)
- python - 如果参数的默认值不是 None,是否应该使用 Typing.Optional?
- php - ffmpeg php生成短视频预览
- php - 如何使用php条件设置页面标题