You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bitbucket Pipelines步骤是否连续运行?附Docker环境示例验证

关于Bitbucket Pipelines步骤运行的问题解答

嘿,完全不用为新手问题致歉呀——谁刚开始接触这些工具的时候不是满脑子问号呢😉

先直接给你答案:第二个步骤会执行失败,原因和Bitbucket Pipelines的步骤运行机制有关:

Bitbucket Pipelines里的每一个step都是在独立的Docker容器中运行的,哪怕你指定了同一个镜像,每个步骤启动的都是全新的容器实例。这意味着:

  • 第一个步骤里创建的my_file.txt只存在于第一个步骤的容器文件系统里
  • 第二个步骤启动的容器是干净的,原本就没有这个文件,所以cat my_file.txt会报错找不到文件

那如果想让第二个步骤能读取到第一个步骤生成的文件,有两种常见解决办法:

1. 使用artifacts传递文件

你可以在第一个步骤里声明artifacts,把需要传递的文件标记出来,Bitbucket会自动把这些文件复制到后续步骤的容器中:

image:
  name: my-image:and-version
pipelines:
  default:
    - step:
        name: first
        script:
          - echo 'something' >> my_file.txt
        artifacts:
          - my_file.txt  # 声明要传递给后续步骤的文件
    - step:
        name: second
        script:
          - cat my_file.txt  # 现在能成功读取文件了

2. 合并步骤到同一个容器中

如果两个步骤的操作关联性很强,也可以把它们合并成一个步骤,这样所有命令都在同一个容器里执行,文件自然是共享的:

image:
  name: my-image:and-version
pipelines:
  default:
    - step:
        name: combined-step
        script:
          - echo 'something' >> my_file.txt
          - cat my_file.txt

简单总结下:Bitbucket Pipelines的步骤默认是独立隔离的,不会自动共享文件,需要通过artifacts或者合并步骤来实现文件共享~

内容的提问来源于stack exchange,提问作者mhz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:27:57