当前位置: 首页 > 知识库问答 >
问题:

使用AWS CodeBuild和EB CLI部署到AWS Elastic Beanstalk

贾成天
2023-03-14

我正在尝试设置AWS Codebuild以将应用程序部署到AWS Elastic Beanstek。

问题是EB CLI似乎无法从AWS CodeBuild获得(看起来应该,阅读此…https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli-codebuild.html)

所以当我在CodeBuild上指定eb cli命令时:

version: 0.2

phases:
  install:
    commands:
      - echo Logging into Amazon ECR...
      - eb init --platform "multi-container-docker-18.03.1-ce-(generic)" --region us-west-1 application

我得到:

/codebuild/output/tmp/script.sh: eb: not found

我还尝试使用以下方法安装CLI:

- pip install --upgrade awsebcli awscli
- eb init --platform "multi-container-docker-18.03.1-ce-(generic)" --region us-west-1 application

并将生成的AWS代码构建角色扩展为完全访问Elastic Beanstalk

但我得到这个错误:

ERROR: NotAuthorizedError - Operation Denied. Access Denied

我在命令中添加了一个 --debug 标志,这是确切的错误:

2018-09-10 13:33:55,151 (DEBUG) ebcli.lib.aws : Making api call: (elasticbeanstalk, describe_configuration_settings) to region: us-west-1 with args:{'ApplicationName': 'application', 'EnvironmentName': 'staging'}
2018-09-10 13:33:55,495 (DEBUG) ebcli.lib.aws : Response: {'Error': {'Type': 'Sender', 'Code': 'InsufficientPrivilegesException', 'Message': 'Access Denied'}, 'ResponseMetadata': {'RequestId': '32f4e739-1694-4aa2-9e2e-076ec4861ae7', 'HTTPStatusCode': 403, 'date': 'Mon, 10 Sep 2018 13:33:55 GMT', 'RetryAttempts': 0}}
2018-09-10 13:33:55,495 (DEBUG) ebcli.lib.aws : API call finished, status = 403

我错过了什么吗?如何正确使用代码构建中的 EB CLI?

共有1个答案

傅嘉悦
2023-03-14

事实证明,EBCLI需要的不仅仅是弹性Beanstalk策略。这就是为什么即使我为Elastic Beanstalk附加了一个完整的访问策略,我仍然会得到一个认证错误。

为了理解所需的策略,我创建了一个可以完全访问所有服务的IAM角色,并将其附加到AWS CodeBuild项目中。

然后,转到 IAM 角色 -

笔记:

    < li >最近的活动通常在4小时内出现。(您可能不会马上看到Access Advisor中使用的所有服务) < li >首先,您可以使用AWSElasticBeanstalkFullAccess内置策略而不是AdministratorAccess策略来查明eb客户端正在使用哪些服务
 类似资料:
  • 问题内容: 我们在项目中使用Jenkins在开发环境上进行构建和部署。我已经在jenkins中使用maven成功创建了一个战争文件,现在我必须创建另一个作业才能将该战争文件部署到weblogic服务器中。 但是,我不知道在jenkins中配置此作业所需的步骤。仅仅调用一个maven deploy命令就可以了吗?有人可以告诉我使用jenkins将war文件部署到weblogic 10.3.5中需要采

  • 目前我正在使用JBoss服务器部署我的JavaSpring代码。每次我对代码进行更改时,我所做的是 使用mvn clean install构建项目 将创建的war文件复制到\wildfly-10.1。0\独立\部署 使用$部署/独立的。sh——调试8787 这工作正常,但程序太长。有没有比使用Intellij IDE或其他方法更容易的方法。

  • Creating your own ERC721 Token on MOAC blockchain Before you read this page, you should: Understand the following general concepts: blockchain, smart contracts, ERC721 tokens; Be able to write a basic

  • Creating your own ERC20 Token on the MOAC blockchain Before you read this page, you should: Understand the following general concepts: blockchain, smart contracts, ERC20 tokens; Be able to write a bas

  • 我正在研究Terraform以及如何使用它来设置AWS环境。到目前为止,我已经有了用3个公共子网、3个私有子网、一个互联网网关和3个Nat网关设置VPC的脚本。然而,我对如何在私有子网中部署和重新部署应用程序感到困惑? 在我的场景中,我们使用Spring Boot构建微服务。我们的想法是转移到一种状态,在这种状态下,我们可以将弹性负载平衡器连接到公共子网,并在私有子网中的自动缩放组中承载我们的应用

  • 我正在尝试使用circleci将一个示例应用程序部署到使用google cloudrun的gke。我在google cloud中创建了一个集群,并希望在容器中构建和部署一个映像。如果我手动操作,效果会很好。但我希望建立一个自动化的CI/CD管道,并因此使用CircleCI来实现。 现在跳过测试和代码覆盖部分,我想为gke部署构建一个管道 这是Circleci的config.yaml文件。我试图使用