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

BitBucket Pipeline使用自定义镜像运行时无执行日志输出如何解决

问题根因

你遇到的无输出问题90%以上是因为hashicorp/terraform官方镜像的默认入口点(ENTRYPOINT)设置为terraform二进制本身,BitBucket Pipelines的自托管runner无法通过默认shell捕获脚本执行的stdout/stderr输出。


修复步骤

  • 第一步:在step配置中显式覆盖镜像入口点为空,强制runner使用内置shell执行脚本,修改后的bitbucket-pipelines.yml如下:
pipelines:
  branches:
    master:
      - step:
          runs-on: self.hosted
          image: 
            name: hashicorp/terraform:latest
            entrypoint: ''
          name: 'Terraform Version'
          script:
            - terraform -v
            - echo "test output"
  • 第二步:如果修改入口点后仍然无输出,可以在script开头添加调试参数强制输出刷新,示例:
script:
  - set -x
  - stdbuf -o0 terraform -v
  - stdbuf -o0 echo "test string"
  • 第三步:如果以上操作都无效,检查自托管runner本地运行日志:
    1. 在本地执行docker logs <你的runner容器名称>,查看是否有script执行的输出内容
    2. 确认runner启动时没有设置DISABLE_LOGGING相关环境变量,日志级别保持默认的info级别即可

验证方法

你可以先替换镜像为通用基础镜像做对照测试,如果以下配置可以正常输出内容,就可以确认是原terraform镜像的入口点问题:

- step:
    runs-on: self.hosted
    image: alpine:latest
    script:
      - echo "test alpine output"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 06:15:07