gpt4 book ai didi

CircleCI:跳过整个工作流程

转载 作者:行者123 更新时间:2023-12-04 14:13:00 27 4
gpt4 key购买 nike

基本上我试图跳过构建,如果它不是拉取请求或某个分支,但是如果失败,我似乎无法跳过工作或工作流程的一部分,到目前为止问题是 circleci step halt在我的管道中什么都不做,这里的示例配置:

version: 2.1

orbs:
hello: circleci/hello-build@0.0.5

jobs:
build:
docker:
- image: docker:17.05.0-ce-git
steps:
- checkout
- setup_remote_docker
- run:
command: |
if [[ $(echo "$CIRCLE_PULL_REQUEST $CIRCLE_PULL_REQUESTS" | grep -c "pull") -gt 0 ]]; then
echo "Do stuff if it's a PR"
else
echo "Not a PR, Skipping."
circleci step halt # does nothing
circleci-agent step halt # does nothing
exit 0
fi

workflows:
"Hello Workflow":
jobs:
- hello/hello-build:
requires:
- build
filters:
branches:
only:
- testing
- /^(?!pull\/).*$/
tags:
only:
- /^pull\/.*$/
- build:
filters:
branches:
only:
- testing
- /^(?!pull\/).*$/
tags:
only:
- /^pull\/.*$/
这不会失败,并且它适用于拉取请求,但尽管有 hello/hello-build 命令,但无论如何还是执行了 circleci step halt
任何帮助将不胜感激,谢谢!

最佳答案

在他们的论坛中创建一个线程后,这是有效的:https://discuss.circleci.com/t/does-circleci-step-halt-works-with-version-2-1/36674/4
转到帐户设置 -> 个人 API token -> 新 token 。获得 token 后,转到项目并创建一个新的环境变量,例如 CIRCLE_TOKEN 并将其保存在那里。
然后在 config.yml 中你可以运行这样的东西来取消当前的工作流程:
curl -X POST https://circleci.com/api/v2/workflow/${CIRCLE_WORKFLOW_ID}/cancel -H '接受:应用程序/json' -u '${CIRCLE_TOKEN}:'
然后你会看到类似的东西:
enter image description here

关于CircleCI:跳过整个工作流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62881808/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com