![](/img/trans.png)
[英]Deploying Python Lambda Functions in AWS Codepipeline using AWS CDK
[英]Error deploying AWS CDK stacks with Azure Pipelines (using python in CDK)
app.py 如何定义我的堆栈的示例(您可以想象一些信息已更改)
Stack1(app, "Stack1",env=cdk.Environment(account='123456789', region='eu-west-1'))
在我的天蓝色管道中,我正在尝试进行 cdk 部署
- task: AWSShellScript@1
inputs:
awsCredentials: 'Service_connection_name'
regionName: 'eu-west-1'
scriptType: 'inline'
inlineScript: |
sudo bash -c "cdk deploy '*' -v --ci --require-approval-never"
displayName: "Deploying CDK stacks"
但出现错误。 我已配置到 AWS 的服务连接,但第一个错误是
[Stack_Name] 失败:错误:需要为账户 [Account_number] 执行 AWS 调用,但尚未配置凭证
Stack_Name 和 Account_Number 已被编辑
在这个错误之后,我决定在我的管道中添加一个步骤并手动创建文件 .aws/config 和 .aws/credentials
- script: |
echo "Preparing for CDK"
echo "Creating directory"
sudo bash -c "mkdir -p ~/.aws"
echo "Writing to files"
sudo bash -c "echo -e '[default]\nregion = $AWS_REGION\noutput = json' > ~/.aws/config"
sudo bash -c "echo -e '[default]\naws_access_key_id = $AWS_ACCESS_KEY_ID\naws_secret_access_key = $AWS_SECRET_ACCESS_KEY' > ~/.aws/credentials"
displayName: "Setting up files for CDK"
在此之后,我相信凭据会被修复,但它仍然失败。 详细选项在输出中显示以下错误:
将“CDK_DEFAULT_REGION”环境变量设置为
因此,与其将区域设置为“eu-west-1”,不如将其设置为空
我想我错过了一些东西,所以请教育我并帮助我完成这项工作
发生这种情况是因为您使用sudo bash
启动单独的 shell 实例,并且它们不共享AWSShellScript
任务正在填充的凭证环境变量。
要修复凭据问题,只需将内联脚本替换为cdk deploy '*' -v --ci --require-approval never
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.