分阶段获取错误:DOWNLOAD_SOURCE秘密管理器找不到密钥失败

时间:2020-10-05 09:54:00

标签: c# asp.net amazon-web-services aws-lambda aws-codebuild

我的dotnet项目有这个buildspec.yaml。

version: 0.2
env:
  variables:
    DOTNET_ROOT: /root/.dotnet
  secrets-manager:
    AWS_ACCESS_KEY_ID_PARAM: CodeBuild:AWS_ACCESS_KEY_ID
    AWS_SECRET_ACCESS_KEY_PARAM: CodeBuild:AWS_SECRET_ACCESS_KEY
phases:
  install:
    runtime-versions:
      dotnet: 3.1
  pre_build:
    commands:
      - echo Command ran in Prebuild
      - echo Restore started on `date`
      - export PATH="$PATH:/root/.dotnet/tools"
      - pip install --upgrade awscli
      - aws configure set profile $Profile
      - aws configure set region $Region
      - aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID_PARAM
      - aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY_PARAM
      - cd Dotnetlambda4
      - cd src
      - cd Dotnetlambda4
      - dotnet clean
      - dotnet restore
  build:
    commands:
      - echo Build started on `date`
      - dotnet new -i Amazon.Lambda.Templates::*
      - dotnet tool install -g Amazon.Lambda.Tools
      - dotnet tool update -g Amazon.Lambda.Tools
      - dotnet lambda deploy-function "Dotnetlambda4" --function-role "arn:aws:iam::433377406395:role/LambdaExecutionRole" --region "us-east-1"
      - echo Build finished.

这些是建立的日志[容器] 2020/10/05 09:44:36等待代理ping [容器] 2020/10/05 09:44:38等待DOWNLOAD_SOURCE [容器] 2020/10/05 09:44:39阶段为DOWNLOAD_SOURCE [容器] 2020/10/05 09:44:39 CODEBUILD_SRC_DIR = / codebuild / output / src073255159 / src [容器] 2020/10/05 09:44:39 YAML位置是/codebuild/output/src073255159/src/buildspec.yaml [容器] 2020/10/05 09:44:39找不到用于阶段名称的命令:安装 [容器] 2020/10/05 09:44:39处理环境变量

我认为的第一个错误是 “未找到阶段名称的命令:安装”。我不知道它来自哪里

第二个构建阶段详细信息,我遇到了秘密管理器错误,找不到指定的秘密。

下面是屏幕截图

Phase Details

我该怎么办?,每次提交此构建都失败,并出现这两个错误。

1 个答案:

答案 0 :(得分:1)

基于评论。

“未找到阶段名称的命令:安装”不是错误。这是信息消息,表明install阶段没有任何命令。

该问题是由于缺少/错误的秘密管理员 secrets引起的。要验证正确的设置必须转到Secret Manger控制台,它们在Secret Name下应写CodeBuild。接下来,如果您Retrieve the secret value,则Secret Key应该是AWS_ACCESS_KEY_ID。与AWS_SECRET_ACCESS_KEY相同。