2014-07-05 138 views
3

我想在Heroku Ruby项目中使用AWS CLI(主要是将它与一个来自ruby应用程序的精简包装器一起使用)。在heroku上安装AWS CLI

是否有任何标准的方式来安装像这样的附加软件到现有的应用程序与Gemfile?

回答

4

这里是为我工作的步骤:

1)使用buildpack-multi安装buildpacks既为Ruby和Python:

heroku config:add BUILDPACK_URL=https://github.com/ddollar/heroku-buildpack-multi.git 
echo "https://github.com/heroku/heroku-buildpack-ruby" >> .buildpacks  
echo "https://github.com/heroku/heroku-buildpack-python" >> .buildpacks 
echo "web: bundle exec rails server -p $PORT" > Procfile 

2)requirements.txt文件添加到项目的根,将含有所需PIP包:

echo "awscli" >> requirements.txt 

3)部署到的Heroku

git add .buildpacks requirements.txt Procfile 
git commit -a -m "use buildpacks for ruby and python, install aws cli" 
git push heroku 

这工作得很好,并允许我从我的ruby应用程序使用我的aws脚本。 正如我指出的那样,使用fog可能是长期较好的解决方案。

+1

我的情况我不得不将'requisites.txt'重命名为'requirements.txt',应用程序才能在Heroku上正确部署。 – mrt

+0

感谢mrt,改变了 – MoMolog

0

您可以使用Docker来为Heroku应用程序提供商品。

添加Dockerfile

FROM ubuntu:14.04 

COPY . /app 

然后建立形象并运行一个容器:

$ docker build . 
$ docker run -it $image_id bash 

# apt-get update && apt-get install jq 

现在,您可以将数据移出从另一个终端复制:

$ docker cp $container_id:/usr/bin/jq . 

aws-cli工具是窍门,因为它需要一个完整的Python环境。