continuous-integration - Gitlab CI/CD 只部署一个阶段
问题描述
有没有办法只执行一次阶段,只在第一次执行管道时
例如,如果我有这个阶段
- 建造
- 标记版本
- 测试
- 部署
我想执行N个管道但下次不执行'tag_version',只需在第一次执行
解决方案
我使用以下规则解决了问题,捕获了推送事件并与我想要标记的标签匹配。这样我的舞台执行一次
.mycondition: &mycondition
rules:
- if: '$CI_COMMIT_TAG =~ /^release-v\d+$/ && $CI_PIPELINE_SOURCE == "push"'
when: always
推荐阅读
- excel - 避免多个用户在云端同时使用 Excel
- ios - 应用内付款方式完成后,Perform Segue 不工作
- mysql - MySql 替换 VARCHAR 数据中的字符范围
- javascript - 使用 Javascript 更改 Boostrap Card CSS
- php - 成功认证后 Laravel 社交名流登录不重定向
- html - 为什么简单地将引导程序加载到我的文档中会搞砸我的页面?
- unix - 将查找输出格式化为一个字段
- python - 恰好两个子对象“OneToTwo-Relationship”的 Django 最佳实践
- python - python中feedparser的输出意外截断
- javascript - 使用文件和数据将多部分表单数据从 python 传递到 django 服务器