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

Bitbucket Pipelines无法找到归档文件问题求助

Bitbucket Pipelines构建后上传S3找不到JAR文件的解决方法

核心问题

默认流水线和自定义流水线是独立运行的容器,彼此的文件系统不共享,默认流水线生成的JAR不会自动出现在自定义流水线的环境中,这就是找不到文件的根本原因。

具体修复步骤

1. 用工件(Artifacts)传递构建产物

修改bitbucket-pipelines.yml,在默认流水线的构建步骤里把JAR标记为工件,让自定义流水线能访问到它:

pipelines:
  default:
    - step:
        name: 构建JAR包
        script:
          - ./mvnw package -DskipTests  # 替换成你的实际构建命令
        artifacts:
          - target/pow-wow-0.0.2-SNAPSHOT.jar  # 必须和生成的JAR路径完全一致
  custom:
    deploy-to-s3:
      - step:
          name: 上传到S3
          script:
            - aws s3 cp target/pow-wow-0.0.2-SNAPSHOT.jar s3://你的桶名/目标路径/
          # 确保这里配置了AWS访问密钥等权限凭证

2. 验证路径正确性

在自定义流水线的脚本开头加目录查看命令,确认JAR是否存在,方便排查路径错误:

custom:
  deploy-to-s3:
    - step:
        name: 上传到S3
        script:
          - ls -la target/  # 打印目录内容,确认JAR是否存在
          - aws s3 cp target/pow-wow-0.0.2-SNAPSHOT.jar s3://你的桶名/目标路径/

3. 检查appspec.yml路径配置(若用CodeDeploy)

如果部署涉及AWS CodeDeploy,确认appspec.yml里的源路径和自定义流水线中JAR的实际路径一致:

version: 0.0
os: linux
files:
  - source: /target/pow-wow-0.0.2-SNAPSHOT.jar
    destination: /opt/你的应用目录/

4. 避免重复构建(可选)

自定义流水线无需再执行构建命令,直接使用默认流水线传递的工件即可,减少冗余操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 13:50:02