Установка AWS CLI на heroku
Я хотел бы использовать AWS CLI в проекте Heroku Ruby (главным образом, чтобы использовать его с тонкой оболочкой из приложения ruby).
Существует ли какой-либо стандартный способ установки дополнительного программного обеспечения, подобного этому, в существующее приложение с помощью Gemfile?
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.