繁体   English   中英

使用Bamboo持续部署到Azure

[英]Continuous deployment to Azure using Bamboo

我正在使用Atlassian Bamboo on Demand进行持续集成,效果很好。

现在我正在尝试使用“部署”功能,问题是我正在使用Azure(ftp,发布,git,mercurial ......我真的不在乎怎么样)而且我找不到“任务“可以执行它。

有没有人实现过这个?

我从Bamboo自动部署到AWS,但概念几乎相同。

Bamboo没有用于部署到公共云的特定选项,因此您必须构建或调用现有的部署工具。 在一天结束时,竹子部署为您提供了元数据,在这些元数据上,构建已部署到哪个环境,以及谁可以进行部署的安全性,但是您必须使实际部署工作。 Bamboo确实为您提供了一个完全可扩展的引擎,用于通过脚本来控制“如何”。 部署引擎基本上是具有任务子集的CI引擎的缩减版本。

我决定构建我们的部署工具,因为它很容易上手并且值得及时投资,因为这将经常使用并随着时间的推移而得到改进。 Bamboo为我提供了授权和访问控制,我的脚本让我对我的部署进行了细致的控制。

我假设你在像我这样的Windows图像上运行竹代理。 所以powershell 脚本是你的朋友。 如果你在linux上运行,你会想要用bash做同样的事情。

我有一个PowerShell脚本通过控制器/代理模型控制我的部署。

控制器脚本由源控制并在mercurial repo中维护。 这是由存储库任务提取的。

代理程序是一个由简单的webapi休息服务包含的PowerShell脚本,该服务具有自定义身份验证机制。 在ec2中配置应用服务器实例时,将设置代理。 我们使用puppet进行服务器配置。

控制器执行以下部署

  • 连接到vpc
  • 使用ec2确定我的Web场中的可用节点
  • 选择第一个节点并向节点发送“upgrade database”命令
  • 然后继续向每个节点发送“升级应用服务器”命令

执行部署的逻辑已参数化,因此可以重新用于部署到不同的环境。 我使用bamboo deploy变量来管理不同环境的馈送参数。

DEV是自动部署的,测试,登台和prod都是锁定到特定用户的手动点击部署。

我考虑过的一个选项,但没有花时间将aws 弹性beanstalk视为部署工具。 它具有丰富的api用于部署。 在Azure方面,看起来Web部署支持部署到Azure IIS站点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM