簡體   English   中英

如何將Atlassian Bamboo與AWS Elastic Beanstalk集成

[英]How to integrate Atlassian Bamboo with AWS Elastic Beanstalk

我想將Atlassian BambooAWS Elastic Beanstalk集成。 反正有沒有這樣做?

它取決於您的Bamboo和beanstalk配置以及您計划在AWS Beanstalk上部署的應用程序類型。

我們為Java Web Apps做了一些事情:

由於Bamboo了解maven,您可以查看以下maven插件: http//beanstalker.ingenieux.com.br/beanstalk-maven-plugin/configurations-and-templates.html

我們在某些環境中使用它來創建戰爭並將它們上傳到彈性beanstalk。 然后,您可以在Bamboo中創建maven任務以調用插件。

如果您在自己擁有的計算機上下載並安裝了Bamboo,則可以使用Elastic Beanstalk命令行界面(CLI) 這可能是最強大的方法,但您需要在Bamboo實例上安裝CLI。 然后你幾乎可以做任何事情。 除Java / Tomcat之外,此方法也適用於其他環境。

另一個想法:如果您使用git使用Beanstalk(即通過更改代碼並推送到Beanstalk進行部署),那么您也可以使用Bamboo中的新“部署項目”功能在代碼通過所有測試后推送它。

David的回答AWS Elastic Beanstalk (+1)的跨產品使用提供了很好的選擇。 如今,我建議在現有的舊版AWS Elastic Beanstalk API命令行界面上使用優秀的統一AWS 命令行界面 ,請參閱參考資料。 用於elasticbeanstalk的AWS CLI命令

如果您正在尋找Bamboo特定解決方案,您可能會對Utoolity的AWS(Bamboo)附加任務 (商業,請參閱免責聲明)感興趣,該附加提供三個專用任務,具體來說:

  • AWS Elastic Beanstalk應用程序 - 創建,更新或刪除AWS Elastic Beanstalk應用程序。
  • AWS Elastic Beanstalk應用程序版本 - 創建,更新或刪除AWS Elastic Beanstalk應用程序版本。
  • AWS Elastic Beanstalk環境 - 創建,更新,重建,重新啟動,交換或終止AWS Elastic Beanstalk環境,並指定配置設置和高級選項。

免責聲明 :我是這個附加組件供應商Utoolity的聯合創始人。

如果您對C#部署感興趣:

我們所做的是簡單地啟動awsdeploy工具(應該已經安裝在構建服務器上),並帶有指向配置腳本的鏈接。 我只是在Visual Studio中創建環境,當我重新部署應用程序一次時,我保存了腳本。 一旦腳本在構建服務器上,我就在部署配置中使用awsdeploy /rc:\\location\\of\\myscript.txt引用它。

AWS部署配置腳本中引用的包本身是在構建時使用MSbuild /target:package命令創建的,並定義為工件(ZIP包的默認位置是c:\\build-dir\\...\\project\\obj\\debug\\package ,但可以覆蓋。

到目前為止,一切都運行良好,雖然我沒有問題可以在沒有可用時啟動彈性實例(例如夜間構建)。

看看我們的回購: https//github.com/matzegebbe/docker-aws-login使用該片段,您可以使用aws登錄推送圖像

簡單的竹子任務腳本(當然你需要在代理上安裝docker):

#!/bin/bash

docker images hellmann/awscli | grep -q awscli
[ "$?" -eq "0" ] && exit 0

cat <<'EOF' >> Dockerfile
FROM python
MAINTAINER Mathias Gebbe <mathias.gebbe@hellmann.net>

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM