我想在Heroku Ruby项目中使用AWS CLI(主要是将它与ruby应用程序中的瘦包装一起使用)。
是否有任何标准方法可以将这样的其他软件安装到带有Gemfile的现有应用程序中?
答案 0 :(得分:4)
以下是对我有用的步骤:
1)使用buildpack-multi为ruby和python安装buildpack:
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 :(得分: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环境。