我的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处理环境变量
我认为的第一个错误是 “未找到阶段名称的命令:安装”。我不知道它来自哪里
第二个构建阶段详细信息,我遇到了秘密管理器错误,找不到指定的秘密。
下面是屏幕截图
我该怎么办?,每次提交此构建都失败,并出现这两个错误。
答案 0 :(得分:1)
基于评论。
“未找到阶段名称的命令:安装”不是错误。这是信息消息,表明install
阶段没有任何命令。
该问题是由于缺少/错误的秘密管理员 secrets
引起的。要验证正确的设置必须转到Secret Manger控制台,它们在Secret Name
下应写CodeBuild
。接下来,如果您Retrieve the secret value
,则Secret Key
应该是AWS_ACCESS_KEY_ID
。与AWS_SECRET_ACCESS_KEY
相同。