我正在学习docker和bitbucket管道,所以请提前原谅我的noob问题。管道中的步骤是否连续运行? 例如:
my_file.txt
假设我的泊坞窗容器中不存在echo basename(getcwd())
。
第二步会通过还是失败?
答案 0 :(得分:1)
是的,步骤按顺序进行。
第二步只有在第一步成功完成时才会运行
如果需要,步骤也可以并行运行。 https://confluence.atlassian.com/bitbucket/parallel-steps-946606807.html
答案 1 :(得分:0)
是的,步骤按顺序运行。如果经过某个步骤,则下一个步骤将开始执行。
但是在这种情况下,您的第二步将失败。
每个步骤都在其自己的Docker容器中运行。没有状态会自动通过。您将需要自己进行配置。
例如,如果您希望第二步可以访问“ my_file.txt”,则需要将其定义为an artifact。
使脚本通过。您可以使用如下配置:
image:
name: my-imge:and-version
pipelines:
default:
- step:
name: first
artifacts:
- *.txt # Copy found .txt files into *all* sebsequent steps.
script:
- echo 'something' >> my_file.txt
- step:
name: second
script:
- cat my_file.txt # my_file.txt has been copied from step 1 as an artifact.
或者,将两个命令放在一个步骤中。
image:
name: my-imge:and-version
pipelines:
default:
- step:
name: first and second combined
script:
- echo 'something' >> my_file.txt
- cat my_file.txt