仅当设置了release标签时,我才想在master分支上构建docker映像。这是我的.gitlab.ci
:
build:
rules:
- if: '$CI_COMMIT_TAG != null && $CI_COMMIT_REF_NAME == "master"'
script:
- echo "Building $IMAGE:${CI_COMMIT_TAG}"
这不起作用,我合并到master和release标签,但是构建作业甚至没有开始。
我也尝试过only
部分:
build:
only:
- master
- tags
script:
- echo "Building $IMAGE:${CI_COMMIT_TAG}"
即使CI_COMMIT_TAG
不存在,它也会每次运行。有没有办法仅在CI_COMMIT_TAG
分支上存在master
时才强制运行作业?
答案 0 :(得分:1)
作业“deploy-latest”仅在分支为 master 且已被标记时运行。
deploy-latest:
tags: [shell]
stage: deploy
script:
- echo "whatever"
only:
- tags && master
答案 1 :(得分:0)
到目前为止,gitlab 中还没有针对此问题的正确构建解决方案。 为了跟踪正确解决方案的开发并保持更新的工作解决方法,我创建了:Gitlab CI: Run Pipeline job only for tagged commits that exist on protected branches
答案 2 :(得分:-1)
使用
mask = np.ones(shape=(3, h, w))
for _ in range(6):
x_coordinate = np.random.randint(0, w)
y_coordinate = np.random.randint(0, h)
mask[:, x_coordinate: x_coordinate + 56, y_coordinate: y_coordinate + 56] = 0
您只能在设置(或按下)标签后运行作业。如果您有build:
only:
- tags
,它将在master的每次提交上运行。如果没有master
,它只会在设置标签后运行。