Concourse 管道:如何让嵌入式脚本无法通过管道
Concourse Pipeline: How to have an Embedded Script Fail the Pipeline
当我 运行 在 运行 参数内嵌套 Python 脚本的 Concourse 管道时,如下所示:
- task: some-task
params:
...
config:
platform: linux
...
run:
path: bash
args:
- "-c"
- |
python my_failing_python_code.py
当 python 脚本失败并抛出出口 1 时,错误似乎并没有像我预期的那样冒泡到管道。总的来说,管道结束 "successfully".
我应该如何设置管道以读取管道内脚本 运行 的退出状态?
谢谢
如果这是脚本的全部内容,那么您可以将其替换为
run:
path: python
args:
- my_failing_python_code.py
见https://concourse-ci.org/hello-world-example.html
如果 shell 脚本还做其他事情,您缺少一个 set -e
,告诉 shell 报告错误:
run:
path: bash
args:
- "-c"
- |
set -e
python my_failing_python_code.py
当我 运行 在 运行 参数内嵌套 Python 脚本的 Concourse 管道时,如下所示:
- task: some-task
params:
...
config:
platform: linux
...
run:
path: bash
args:
- "-c"
- |
python my_failing_python_code.py
当 python 脚本失败并抛出出口 1 时,错误似乎并没有像我预期的那样冒泡到管道。总的来说,管道结束 "successfully".
我应该如何设置管道以读取管道内脚本 运行 的退出状态?
谢谢
如果这是脚本的全部内容,那么您可以将其替换为
run:
path: python
args:
- my_failing_python_code.py
见https://concourse-ci.org/hello-world-example.html
如果 shell 脚本还做其他事情,您缺少一个 set -e
,告诉 shell 报告错误:
run:
path: bash
args:
- "-c"
- |
set -e
python my_failing_python_code.py