如何在 nitrous io 盒上配置 git 以部署到 AWS Elastic Beanstalk?

Posted

技术标签:

【中文标题】如何在 nitrous io 盒上配置 git 以部署到 AWS Elastic Beanstalk?【英文标题】:How do I configure git on a nitrous io box to deploy to AWS Elastic Beanstalk? 【发布时间】:2014-09-15 10:24:05 【问题描述】:

我有一个在 Nitrous IO 盒上开发的 ruby​​ 应用程序,我试图将它部署到现有的 AWS Elastic Beanstalk 应用程序。在我的 Nitrous 机器上配置了 Git,运行“git status”返回:

# On branch master
# Your branch is up-to-date with 'origin/master'.
#
nothing to commit, working directory clean

我也可以运行“git push”并将我的代码推送到 github。

我已安装 Elastic Beanstalk 命令行工具 2.6.2 软件包。运行“eb status”会返回关于我的 EB 实例的正确信息。

但是运行“git aws.push”会返回:

git: 'aws.push' is not a git command.

阅读 AWS 文档,它说我需要运行 AWSDevTools-RepositorySetup.sh,但我无法在我的 Nitrous 盒子上找到此脚本。该脚本位于何处,或者是否有其他方法可以配置 git 以推送到 AWS EB?

【问题讨论】:

【参考方案1】:

AWSDevTools-RepositorySetup.sh 位于AWS Elastic Beanstalk Command Line Tool

运行这个:

# I believe you remember where you placed the tool
$ find [PATH_TO_ELASTICBEANSTALK_CLI] -name AWSDevTools-RepositorySetup.sh
# If you don't remember
$ sudo find / -name AWSDevTools-RepositorySetup.sh

就我而言,它位于$HOME,所以我得到了:

$ find ~/AWS-ElasticBeanstalk-CLI-2.6.3/ -name AWSDevTools-RepositorySetup.sh
AWS-ElasticBeanstalk-CLI-2.6.3/AWSDevTools/Linux/AWSDevTools-RepositorySetup.sh

也检查一下这个答案:setup AWSDevTools-RepositorySetup.sh in git repository on ubuntu

PS 不要忘记在运行AWSDevTools-RepositorySetup.sh之前切换到你的 repo 目录

【讨论】:

抱歉,这没有帮助 - 我无法在我的 Nitrous 盒子上找到 AWSDevTools-RepositorySetup.sh。我没有 root 访问权限,因此您发送的 find 命令出错。我确实找到了一个名为 ~/.parts/packages/elasticbeanstalk/2.6.2 的目录,但它不包含脚本(命令 find ~/.parts/packages/elasticbeanstalk/ -name AWSDevTools-RepositorySetup.sh 什么都不返回)跨度> 但是你说你安装了 Elastic Beanstalk 命令行工具 2.6.2 包。也许你是在本地机器上做的?在这种情况下,您需要将它安装在您的服务器上。【参考方案2】:

AWSDevTools-RepositorySetup.sh 以前未包含在 Autoparts 的 2.6.2 包中,但现在可以在安装最新版本 (2.6.3) 时找到它。

运行$ parts update 确保更新包管理器,运行$ parts install elasticbeakstalk 安装最新版本。

安装 AWS Elastic Beanstalk 2.6.3 后,您需要在每个 git 存储库中运行存储库设置工具:

$ AWSDevTools-RepositorySetup.sh

您可以从那里运行 AWS git 命令:

$ git aws.config
$ git aws.push

【讨论】:

升级到 2.6.2 包解决了这个问题,但是我还必须安装 boto 包才能成功运行 git aws.push。要在 Nitrous 上安装 boto,请运行以下命令: pip install virtualenv; virtualenv venv; 源 venv/bin/activate; pip install boto【参考方案3】:

请试试这个。

$ cd ~
$ wget "https://s3.amazonaws.com/elasticbeanstalk/cli/AWS-ElasticBeanstalk-CLI-2.6.3.zip"
$ unzip AWS-ElasticBeanstalk-CLI-2.6.3.zip
$ cd workspace/your_app
$ sh ~/AWS-ElasticBeanstalk-CLI-2.6.3/AWSDevTools/Linux/AWSDevTools-RepositorySetup.sh
$ git aws.push

【讨论】:

以上是关于如何在 nitrous io 盒上配置 git 以部署到 AWS Elastic Beanstalk?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 nitrous.io Ubuntu Stack 中运行 apcahe2 localhost

为啥在我的 Paypal 沙盒上的 ios 应用程序中,买家可以取消付款?

开关盒上的 iOS 单元测试

如何在 paypal pro 沙盒上设置和检查定期付款

如何在流浪盒上转发端口

如何在小黑盒上创造scheme账号