gitlab-ci - GitlabCI 管道仅使用来自 master 的代码运行
问题描述
每次在非主分支上提交时,我都需要运行管道。管道启动,但代码来自 master。我需要更改分支中的代码
管道是这样的:
variables:
IMAGE_TAG: ${CI_PIPELINE_IID}
BASE_NAME: ${CI_COMMIT_REF_NAME}
stages:
- validate
- build
check_image:
stage: validate
tags:
- runner
script:
- cd ~/path/${BASE_NAME}-base && packer validate ${BASE_NAME}-base.json
except: ['master']
create_image:
stage: build
tags:
- runner
script:
- cd ~/path/${BASE_NAME}-base && packer build -force ${BASE_NAME}-base.json
except: ['master']
解决方案
没关系。我想到了。我在自定义用户下运行 gitlab-runner,所以环境已经设置好了。我只需要添加 before_script 来签出所需的分支。
推荐阅读
- php - 预期响应代码为 250,但得到代码“550”,使用 Laravel 7 和 SendGrid 显示消息“550 未经身份验证的发件人不允许”
- reflection - 使用 F# 反射将两个对象与默认 IComparable 实现进行比较
- javascript - 将对象内的相同 ID 连接到一个对象数组
- android - Android Studio 找不到 Kotlin 依赖项
- jmeter - 如何在 JMeter 中调用“最简单”的随机浮动变量
- django - 没有从 ASSIGNED 视图流的过渡
- reactjs - 带有 Typescript 返回类型的样式化组件是任何
- c++ - std::map 或 std::set 可以用来代替手写的二叉树吗
- kubernetes - K8S 如何自动启动 Deployments 和 DaemonSets?
- flutter - Flutter - 在同一屏幕上的小部件之间传递数据