azure - 使用 Bamboo 持续部署到 Azure

标签 azure deployment bamboo

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

现在我正在尝试使用“部署”功能,问题是我正在使用 Azure(ftp、publish、git、mercurial...我真的不在乎如何),但我不能找到一个可以执行它的“任务”。

有人实现过这个吗?

最佳答案

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

Bamboo 没有用于部署到公共(public)云的特定选项,因此您必须构建或调用现有的部署工具。最终,bamboo 部署为您提供了元数据,其中的构建已部署到哪个环境,以及谁可以进行部署的安全性,但这取决于您必须使实际的部署工作。 Bamboo 确实为您提供了一个完全可扩展的引擎,用于通过脚本控制“如何”。部署引擎基本上是 CI 引擎的精简版本,包含任务子集。

我决定构建我们的部署工具,因为它上手相当简单,而且时间投资很值得,因为它将经常使用并随着时间的推移而改进。 Bamboo 为我提供授权和访问控制,而我的脚本为我提供对部署的细粒度控制。

我假设您像我一样在 Windows 镜像上运行 Bamboo 代理。所以powershell scripts是你的 friend 。如果您在 Linux 中运行,您将需要对 bash 执行相同的操作。

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

Controller 脚本受源代码控制并在 Mercurial 存储库中维护。这是由存储库任务拉取的。

该代理是一个 powershell 脚本,由具有自定义身份验证机制的简单 Webapi Rest 服务封装。当在 ec2 中配置应用程序服务器实例时,会设置代理。我们使用puppet用于服务器配置。

Controller 对部署执行以下操作

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

执行部署的逻辑已参数化,因此可以重复使用它来部署到不同的环境。我用 Bamboo deploy variables管理不同环境的喂养参数。

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

我考虑过一个选项,但没有花时间来研究 aws elastic beanstalk作为部署工具。它有丰富的 api 用于部署。在 Azure 方面,它看起来像 web deploy支持部署到 Azure IIS 站点。

关于azure - 使用 Bamboo 持续部署到 Azure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21603655/

相关文章:

azure - 如何使用 Azure 搜索 API 进行多索引搜索?

azure - Bicep - 无法为 Azure 恢复服务保管库创建 VM 快照备份策略

Azure 应用服务/SQL - 允许访问 Azure 服务已禁用

mysql - Bamboo 中的 mysql docker 镜像访问被拒绝

azure - Powershell更新手机字段

bamboo - 如何在同一舞台上的两个作业之间共享 Bamboo 作业工件?

azure - 如何使用 PowerShell Az 将 Azure Web 应用与 vnet 关联?

c# - 在另一台机器上运行 c# 应用程序时出现问题

azure - 使用 TFS Azure 进行临时异地部署?

iphone - 即席部署问题 : putpkt: write failed: Broken pipe