Я хочу интегрировать Atlassian Bamboo с AWS Elastic Beanstalk. Есть какой-либо способ сделать это?Как интегрировать атласский бамбук с AWS эластичный бобовый станок
ответ
Это зависит немного от вашей конфигурации Bamboo и beanstalk, а также от типа приложения, которое вы планируете развернуть на AWS Beanstalk.
Мы сделали некоторые вещи для Java Web Apps:
С Bamboo понимает Maven, вы можете посмотреть на следующий Maven плагин: http://beanstalker.ingenieux.com.br/beanstalk-maven-plugin/configurations-and-templates.html
Мы используем его для некоторых сред для создания войн и загрузите их в эластичный бобовый шток. Затем вы можете создать задачу maven в bamboo для вызова плагина.
Если вы загрузили и установили Bamboo на свой собственный компьютер, вы можете использовать Elastic Beanstalk command line interface (CLI). Это, вероятно, самый мощный подход, но вам нужно установить CLI на экземпляр bamboo. Тогда вы можете сделать почти все. Этот подход также должен работать и для других сред, помимо Java/Tomcat.
Другая идея: Если вы используете Beanstalk с помощью git (т. Е. Развертываете, изменяя код и нажав на Beanstalk), то вы также можете использовать новую функцию «Проект развертывания» в Bamboo, чтобы нажать код после его прохождения все тесты.
Просто FYI: Плагин Beanstalk Maven * ПОДДЕРЖИВАЕТ * развертывание на основе git. См. [Этот URL] (http://docs.ingenieux.com.br/project/beanstalker/deploying-using-git.html) для получения более подробной информации. – aldrinleal
В случае, если вы заинтересованы в развертывании C#:
Что мы делаем, чтобы просто начать awsdeploy
инструмент (должен быть уже установлен на сервере сборки) со ссылкой на сценарий конфигурации. Я создаю среду просто в Visual Studio, и когда я повторно развертываю приложение один раз, я сохраняю сценарий. Как только скрипт находится на сервере сборки, я ссылаюсь на него в конфигурации развертывания с помощью awsdeploy /r c:\location\of\myscript.txt
.
Пакет сам ссылается в сценарии конфигурации развертывания AWS создается во время сборки с помощью команды MSbuild /target:package
и определяется как местоположение почтового пакета c:\build-dir\...\project\obj\debug\package
артефакт (по умолчанию, но могут быть перезаписаны.
Все работает очень хорошо до сих пор, хотя у меня возникла проблема с тем, чтобы запустить эластичный экземпляр, когда нет доступных (например, ночные сборки).
tnx для вашего ответа marco. – Khalid
David's answer предлагает хорошие варианты использования кросс-продуктов AWS Elastic Beanstalk (+1). В настоящее время я рекомендую отличный унифицированный AWS Command Line Interface по сравнению со старым AWS Elastic Beanstalk API Command Line Interface, см. AWS CLI commands for elasticbeanstalk.
Если вы ищете Bamboo конкретное решение, вы можете быть заинтересованы в Utoolity-х Tasks for AWS (Bamboo) дополнения (коммерческий, см отказ от ответственности), которая предусматривает три выделенных задач, а именно:
- AWS Elastic Beanstalk Применение - создавать, обновлять или удалять приложения AWS Elastic Beanstalk.
- AWS Elastic Beanstalk Application Version - создавать, обновлять или удалять версии приложений AWS Elastic Beanstalk.
- AWS Elastic Beanstalk Environment - создавать, обновлять, перестраивать, перезагружать, свопировать или завершать среду AWS Elastic Beanstalk и задавать параметры конфигурации и расширенные параметры.
Отказ от ответственности: Я соучредитель этой надстройки в поставщике, Utoolity.
Почему Задачи для AWS не предлагаются на решениях из облачного бамбука? – Ascherer
@ Ascherer - мы бы очень хотели предложить Задачи для AWS для Bamboo Cloud. К сожалению, в настоящее время мы заблокированы из-за причин, не зависящих от нашего контроля: Atlassian запрещает классические дополнения для обеспечения безопасности и масштабируемости, но пока не поддерживает Bamboo в новой надстройке Atlassian Connect - см. Наш. FAQ [Будет ли Задачи для AWS доступны для Bamboo Cloud (Atlassian OnDemand)?] (Https://utoolity.atlassian.net/wiki/questions/36306948/will-tasks-for-aws-be-available-for-bamboo- cloud-atlassian-ondemand) для деталей. –
Взгляните на наш репозиторий: https://github.com/matzegebbe/docker-aws-login С этого фрагмента кода вы можете войти с АМС А.Н. нажимные изображения
простой бамбуковой сценарий задачи (конечно, нужно Docker установленных на агентов):
#!/bin/bash
docker images hellmann/awscli | grep -q awscli
[ "$?" -eq "0" ] && exit 0
cat <<'EOF' >> Dockerfile
FROM python
MAINTAINER Mathias Gebbe <[email protected]>
RUN pip install awscli --ignore-installed six
ENV aws_access_key_id AWS_ACCESS_KEY
ENV aws_secret_access_key AWS_SECRET_ACCESS_KEY
RUN mkdir /root/.aws/
RUN printf "[default]\nregion = eu-west-1\n" > /root/.aws/config
RUN printf "[default]\naws_access_key_id = ${aws_access_key_id}\naws_secret_access_key = ${aws_secret_access_key}\n" > /root/.aws/credentials
ENTRYPOINT ["/bin/bash","-c"]
CMD ["aws ecr get-login"]
EOF
docker build -t hellmann/awscli .
$(docker run --rm hellmann/awscli)
интегрировать как как? Развертывание? –
есть, развертывание. – Khalid
Эта статья помогла мне понять, как это сделать: http://blog.pedago.com/2014/02/18/build-and-deploy-with-grunt-bamboo-and-elastic-beanstalk/ –