Установка AWS CLI на heroku


Я хотел бы использовать AWS CLI в проекте Heroku Ruby (главным образом, чтобы использовать его с тонкой оболочкой из приложения ruby).

Существует ли какой-либо стандартный способ установки дополнительного программного обеспечения, подобного этому, в существующее приложение с помощью Gemfile?

2 3

2 ответа:

Вот шаги, которые сработали для меня:

1) Используйте buildpack-multi для установки пакетов сборки как для 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   

Это работает просто отлично и позволяет мне использовать мои сценарии aws из моего приложения ruby. Как мне было указано, использованиетумана , вероятно, является лучшим решением в долгосрочной перспективе.

Вы можете использовать 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.