【问题标题】:Getting error in phase:DOWNLOAD_SOURCE Failed of secret manager cant find keys阶段出错:DOWNLOAD_SOURCE Failed of secret manager can't find keys
【发布时间】:2021-01-20 04:23:55
【问题描述】:

我的 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.

这些是构建[Container] 2020/10/05 09:44:36 Waiting for agent 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 处理环境变量

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

在构建阶段的第二个细节中,我得到了秘密管理器找不到指定秘密的错误。

下面是截图

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

【问题讨论】:

  • “未找到阶段名称的命令:安装”不是错误。您是否仔细检查过您的秘密是否按照您认为的方式调用,并且与 CB 位于同一区域?
  • Amm 如何正确检查。我可以说我已经从 secret-access-manager 创建了凭据,并且对于我在 codebuild 策略中使用的资源作为“*”的策略
  • 错误消息表明名为CodeBuild 的密钥不存在AWS_ACCESS_KEY_ID。也许您是在不同的地区、帐户中创建它们或拼写错误?
  • Region 是一样的,我也没有拼错。 Altohugh 我已经尝试过密钥作为密钥 AWS_ACCESS_KEY_ID 和 CodeBuild:AWS_ACCESS_KEY_ID,但哪个是正确的。因为在 buildpsec.yaml 中它是 CodeBuild:AWS_ACCESS_KEY_ID
  • 去秘密经理。在“秘密名称”下应该写CodeBuild。然后,如果您检索秘密值,“秘密密钥”应该是AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 也一样。

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


【解决方案1】:

基于 cmets。

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

问题是由于缺少/错误的秘密经理 secrets。要验证正确的设置必须转到 Secret Manger 控制台,它们在Secret Name 下应该写为CodeBuild。接下来如果你Retrieve the secret valueSecret Key 应该是AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 也一样。

【讨论】:

    猜你喜欢
    • 2022-09-28
    • 2021-02-03
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 2022-10-19
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    相关资源
    最近更新 更多