Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 使用EB deploy管理多个AWS帐户_Ruby_Amazon Web Services_Amazon Elastic Beanstalk - Fatal编程技术网

Ruby 使用EB deploy管理多个AWS帐户

Ruby 使用EB deploy管理多个AWS帐户,ruby,amazon-web-services,amazon-elastic-beanstalk,Ruby,Amazon Web Services,Amazon Elastic Beanstalk,我正在为两家不同的公司从事两个不同的项目。他们中的每一位都允许我访问他们的AWS管理控制台来部署Ruby应用程序。我正在Mac OS/X上编写代码 我看不到在哪里更改eb命令的配置以指向不同的帐户。我做了eb init,但它似乎指向同一个AWS帐户,并在该帐户上创建应用程序和服务器实例。当为两个不同的项目使用两个不同的AWS帐户并尝试使用eb命令部署时,是否有人可以帮助或指导我了解说明?配置数据应存储在~/.AWS/config中 您可以维护两个不同的配置文件,并在部署之前简单地交换它们。如果你

我正在为两家不同的公司从事两个不同的项目。他们中的每一位都允许我访问他们的AWS管理控制台来部署Ruby应用程序。我正在Mac OS/X上编写代码


我看不到在哪里更改eb命令的配置以指向不同的帐户。我做了eb init,但它似乎指向同一个AWS帐户,并在该帐户上创建应用程序和服务器实例。当为两个不同的项目使用两个不同的AWS帐户并尝试使用eb命令部署时,是否有人可以帮助或指导我了解说明?

配置数据应存储在~/.AWS/config中

您可以维护两个不同的配置文件,并在部署之前简单地交换它们。如果你一整天都在做一件事,然后一整天都在做另一件事,那就很容易了,但是如果你一整天都在这两件事之间切换,那可能会让人困惑

在运行eb init之前,您可以编写一个简单的脚本来交换它们

因为你把Ruby列为你的语言,所以我发现这篇文章写得很好,完全符合你的需要。

配置数据应存储在~/.aws/config中

您可以维护两个不同的配置文件,并在部署之前简单地交换它们。如果你一整天都在做一件事,然后一整天都在做另一件事,那就很容易了,但是如果你一整天都在这两件事之间切换,那可能会让人困惑

在运行eb init之前,您可以编写一个简单的脚本来交换它们

因为你把Ruby列为你的语言,所以我发现这篇文章写得很好,完全符合你的需要。
正确的方法是使用命名的配置文件。例如,假设您有一个工作/默认AWS帐户和一个个人AWS帐户

编辑~/.aws/credentials如下所示:

[default]
aws_access_key_id = abcd1234KEY1
aws_secret_access_key = abcd1234SECRET1

[personal]
aws_access_key_id = efghij6789KEY2
aws_secret_access_key = efghij6789SECRET2    
然后使用eb init-profile personal使用您的个人帐户

AWS文档在此:
正确的方法是使用命名的配置文件。例如,假设您有一个工作/默认AWS帐户和一个个人AWS帐户

编辑~/.aws/credentials如下所示:

[default]
aws_access_key_id = abcd1234KEY1
aws_secret_access_key = abcd1234SECRET1

[personal]
aws_access_key_id = efghij6789KEY2
aws_secret_access_key = efghij6789SECRET2    
然后使用eb init-profile personal使用您的个人帐户

AWS文档在此:

你能告诉我当你运行eb init时会发生什么吗?当我第一次运行eb init时,它会询问应用程序名称、地区等。当我现在运行它时,它不会询问。我假设它存储在一个配置文件中,所以它看起来就在那里。但是,它没有要求我提供关于IAM用户使用什么的帐户信息。它默认为我的另一个项目,因此它最终创建并部署了一个应用程序到错误的AWS帐户。您可以尝试从终端运行printenv | grep AWS | CREDENTIAL |文件吗?$printenv | grep AWS | CREDENTIAL |文件没有出现任何问题。您能显示运行eb init时会发生什么吗?当我第一次运行eb init时,它询问应用程序名称、区域,等等。当我现在运行它时,它不会要求它。我假设它存储在一个配置文件中,所以它看起来就在那里。但是,它没有要求我提供关于IAM用户使用什么的帐户信息。它默认为我的另一个项目,因此它最终创建并部署了一个应用程序到错误的AWS帐户。您可以尝试从终端运行printenv | grep AWS | CREDENTIAL | FILE吗?$printenv | grep AWS | CREDENTIAL | FILE没有出现任何问题。谢谢。这就是我要找的。谢谢。这就是我要找的。我看了一下我的配置,我有一个.aws/config和一个.aws/credentials。凭据包含[default]节,而config包含[profile eb cli]节。后者是EB CLI所需的硬编码配置文件,还是我在某个时候创建了它,但忘记了给它起这个名字?无论如何,此页面也与能够使用其他非EB AWS CLI:s相关。我查看了我的配置,并且有一个.AWS/config和一个.AWS/credentials。凭据包含[default]节,而config包含[profile eb cli]节。后者是EB CLI所需的硬编码配置文件,还是我在某个时候创建了它,但忘记了给它起这个名字?无论如何,此页面也与您能够使用其他非EB AWS CLI:s相关。