git - Gitlab 在合并请求期间排除某些文件的覆盖
问题描述
我们的功能分支基于“Dev”分支。开发分支每天根据我们.gitlab-ci.yml
在开发分支中定义的指令部署到开发环境。
当一个特性分支被创建并提交时,它们被部署为特性分支.gitlab-ci.yml
与开发分支相同。如果我们禁用功能分支上的部署步骤并且忘记在返回到 dev 分支的合并请求期间取消注释,则 dev 分支将由.gitlab-ci.yml
功能分支覆盖文件。
.gitlab-ci.yml
尽管来自任何功能分支的合并请求,是否有办法让 Dev保持不变?我发现.gitattributes
可能会有所帮助,但找不到如何定义和使用它的起点。
解决方案
这是一个极其简化的示例,您可以如何在.gitlab-ci.yml
with规则中定义两个单独的部署步骤。它基于您为功能分支添加前缀的假设,例如使用feature
.
stages:
- deploy
deploy:feature:
stage: deploy
script:
- echo "deploy feature branch"
rules:
- if: '$CI_COMMIT_BRANCH =~ /^feature/'
deploy:dev:
stage: deploy
script:
- echo "deploy to development"
rules:
- if: '$CI_COMMIT_BRANCH == "dev"'
推荐阅读
- azure-active-directory - Graph Explorer:需要管理员批准
- python - 从网站上的按钮下载 csv 文件的 Python 脚本
- python - Python 麻烦(缺少 1 个必需的位置参数:'self')
- microsoft-graph-api - 获取对话成员导致错误请求 (Microsoft Graph)
- c - Sprintf 将大量数字变为“4”
- linux - 使用 awk、tr 或 sed 从文本文件中删除新行以使文本出现在单行上
- python - 如何使用保存在另一个 DataFrame 中的指令对 Python DataFrame 进行算术运算?
- python - 使用熊猫在数据框之间进行值查找?
- flutter - easy_localization 具有其他语言的键的后备值
- jasper-reports - Jasper 报告标题在新页面上