我试图在Gitlab CI上创建一个管道,每次我们在主服务器上提交时都会增加应用程序的版本。但是它忽略了我的ci.skip命令,我不知道为什么。
yaml文件是这样一个:
..gitlab ci.yml
workflow:
rules:
- if: $CI_COMMIT_BRANCH == 'master'
before_script:
- git config --global user.email "${GITLAB_USER_EMAIL}"
- git config --global user.name "${GITLAB_USER_NAME}"
- git remote set-url origin https://push:$PUSH_KEY@$CI_SERVER_HOST/$CI_PROJECT_PATH.git
auto_release:
image: node:10
script:
- yarn
- yarn release
- git push --follow-tags origin HEAD:master -o ci.skip
- echo "Done!"因此,每次我推动一个新的提交,它会锁定在一个永恒的循环,提交一个新的版本,并提交一个新的版本一次又一次。停止的唯一方法是手动取消作业。
请注意:当我们使用图像node或node:latest时,它可以工作,但是我们的版本需要node:10,否则它会中断,不会生成。
发布于 2022-05-30 05:33:38
node:10是一个非常古老的形象。它包含的git版本不支持推送选项(至少使用简写的-o),所以推送触发了下一个CI构建。
检查图像中的git版本--如果是2.10到2.17,可以使用--push-option=ci.skip。如果它仍然是旧版本,则需要创建包含节点版本10和现代git版本的自己的对接器映像。
https://stackoverflow.com/questions/72394031
复制相似问题