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

Bitbucket流水线部署AWS Lambda报--zip-file参数解析错误

故障原因

报错的核心原因有2个:

  1. 步骤执行逻辑配置错误
    你在testing分支的流水线中把「Build构建打包」和「Deploy部署」两个步骤放在了parallel并行块下,两个步骤会同时启动、运行在完全隔离的容器环境中:
  • 部署步骤启动时,构建步骤还未完成zip包生成
  • 并行步骤之间默认不会传递工件,哪怕构建步骤后续生成了zip,部署步骤也无法读取到该文件
  1. YAML缩进配置错误
    原配置中artifacts(工件定义)的缩进层级错误,没有作为Build步骤的子属性存在,Bitbucket流水线不会识别到需要将apiGatewayAuthorizer.zip作为可传递的工件留存。

另外还有两个非致命但会引发后续问题的配置缺陷:

  • zip命令的排除规则没有给通配符加引号,shell会提前展开*.git*通配符,导致排除逻辑失效
  • testing分支的构建步骤没有执行yarn install安装项目依赖,后续就算部署成功,Lambda运行时也会因为缺依赖报错
  • 原配置中apt install zip未加-y参数,执行时会卡在交互确认环节导致构建步骤中断
修复方案
  1. 删除testing分支下包裹两个步骤的parallel配置,让构建、部署步骤串行执行:构建步骤完成、工件留存成功后,才会进入部署步骤
  2. 修正YAML缩进,确保name/script/artifacts都属于对应step的子属性,层级对齐
  3. 给zip命令的通配符排除规则加上单引号避免shell提前展开;补充依赖安装逻辑、apt安装的自动确认参数
修复后的完整配置参考
image: node:16
# Workflow Configuration
pipelines:
  default:
    - step:
        name: Build and Test
        caches:
          - node
        script:
          - echo Installing source YARN dependencies.
          - yarn install
  branches:
    testing:
      - step:
          name: Build 
          script:
            - apt update && apt install -y zip
            - echo Installing production YARN dependencies.
            - yarn install --production
            # Exclude files to be ignored
            - echo Zipping package.
            - zip -r apiGatewayAuthorizer.zip . -x '*.git*' bitbucket-pipelines.yml
          artifacts:
            - apiGatewayAuthorizer.zip
      - step:
          name: Deploy to testing - Update Lambda code
          deployment: Test
          trigger: manual
          script:
            - pipe: atlassian/aws-lambda-deploy:0.2.3
              variables:
                AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
                AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
                AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
                FUNCTION_NAME: $LAMBDA_FUNCTION_NAME
                COMMAND: 'update'
                ZIP_FILE: 'apiGatewayAuthorizer.zip'

注:如果不需要在部署前人工确认,可以移除trigger: manual配置,构建完成后会自动执行部署。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 11:24:37