3

我想在 Heroku Ruby 项目中使用AWS CLI(主要是与来自 ruby​​ 应用程序的瘦包装器一起使用)。

是否有任何标准方法可以使用 Gemfile 将此类附加软件安装到现有应用程序中?

4

2 回答 2

5

以下是对我有用的步骤:

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 脚本。正如向我指出的那样,从长远来看,使用雾可能是更好的解决方案。

于 2014-07-06T21:33:03.893 回答
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 环境。

于 2016-11-21T04:24:48.420 回答