我想在Heroku Ruby项目中使用AWS CLI(主要是将它与一个来自ruby应用程序的精简包装器一起使用)。在heroku上安装AWS CLI
是否有任何标准的方式来安装像这样的附加软件到现有的应用程序与Gemfile?
我想在Heroku Ruby项目中使用AWS CLI(主要是将它与一个来自ruby应用程序的精简包装器一起使用)。在heroku上安装AWS CLI
是否有任何标准的方式来安装像这样的附加软件到现有的应用程序与Gemfile?
这里是为我工作的步骤:
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可能是长期较好的解决方案。
您可以使用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环境。
我的情况我不得不将'requisites.txt'重命名为'requirements.txt',应用程序才能在Heroku上正确部署。 – mrt
感谢mrt,改变了 – MoMolog