gitlab - gitlab - 仅为非主分支运行管道
问题描述
我们正在从 Bitbucket 迁移到 Gitlab,我的任务是迁移管道配置。
我被要求查看的一件事是配置管道配置文件,以便某些操作仅在非主分支中执行。
例如,在 master 分支中,我们想要执行以下操作:
script:
- docker build -t $DOCKER_REGISTRY/$APP_NAME:$CI_COMMIT_SHA .
- docker push $DOCKER_REGISTRY/$APP_NAME:$CI_COMMIT_SHA
但在任何非主分支中,我们都想做以下事情:
script:
- docker build -t $DOCKER_REGISTRY/$APP_NAME:$CI_COMMIT_SHA .
- docker push $DOCKER_REGISTRY/$APP_NAME:$CI_COMMIT_SHA
- aws lambda update-function-code --region $AWS_DEFAULT_REGION --function-name function1 --image-uri xxxxxx.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/function1:$CI_COMMIT_SHA
我正在努力寻找可以实现这一目标的任何代码示例,有什么想法吗?
解决方案
尝试使用这样的规则:
script:
- docker build -t $DOCKER_REGISTRY/$APP_NAME:$CI_COMMIT_SHA .
- docker push $DOCKER_REGISTRY/$APP_NAME:$CI_COMMIT_SHA
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
script:
- docker build -t $DOCKER_REGISTRY/$APP_NAME:$CI_COMMIT_SHA .
- docker push $DOCKER_REGISTRY/$APP_NAME:$CI_COMMIT_SHA
- aws lambda update-function-code --region $AWS_DEFAULT_REGION --function-name function1 --image-uri xxxxxx.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/function1:$CI_COMMIT_SHA
rules:
- if: '$CI_COMMIT_BRANCH != "master"'
推荐阅读
- node.js - 带有nodeJS的firebase存储中的CSV文件
- image-processing - 光场图像中的视差图不仅是基于立体的视觉,而且是多视图
- javascript - 当我尝试在字段末尾添加索引时为什么会得到 NAN?
- plotly.js - Plotly.js scattergl 不显示图形本身
- java - 使用自建插件在android native中访问Flutter Activity的DecorView
- ios - 如何在下拉菜单中使用多项选择?
- python - 如何使用 Flask 对资源执行 POST 操作
- mysql - mariadb,按列名分组,小时/天
- mysql - 计算每次旅行的预订 - 如果没有,则返回 0
- vue.js - 函数后的条件渲染 - VueJS