【问题标题】:Trigger Jenkins Build based on Assembla Ticket Status根据 Assembla Ticket 状态触发 Jenkins 构建
【发布时间】:2013-10-12 21:13:42
【问题描述】:

我们正在使用 Assembla 票务系统和 SVN 存储库。我们计划使用 Jenkins 服务器自动化构建过程。是否可以根据工单状态触发构建?

我们有 4 台不同的服务器

  1. 开发服务器
  2. QA 服务器
  3. 暂存服务器
  4. 产品服务器。

一旦开发人员完成编码,他将提交代码并将票证状态更改为已分配以进行代码审查,Jenkins 将构建提交并将其部署在开发服务器中。开发团队成员(审阅者)将进行代码审查,并将在开发服务器中测试构建。代码审查完成后,审查者会将工单状态更改为已完成代码审查。我们希望将所有处于已完成代码审查状态的工单,构建并部署到 QA 服务器。 dev 和 QA 服务器是从 SVN 中的同一个分支构建的。 UAT 和 Prod 是从主干构建的。

QA Build 应仅包含已通过代码审查阶段的提交。 “完成代码审查”是 Assembla 中的工单状态。

感谢任何帮助。

问候 KK

【问题讨论】:

  • 建议您根据颠覆提交设置自动构建。 Jenkins 版本号可以确保每个版本号都是唯一的。 Assembla Jenkins 插件会将所有更改链接回 Assembla 票证(提供在 subversion 提交消息中提交票证号)。
  • 感谢马克的回复。用更多细节更新了问题。

标签: svn jenkins assembla


【解决方案1】:

马克说什么。加: 为什么要对没有被证明有效的东西进行代码审查?如果您在 Jenkins 中有另一个测试工作,您可以将其连接到成功发布构建工作中。

【讨论】:

    【解决方案2】:

    我建议使用二进制存储库管理器(如Nexus)来保存构建输出,即通常部署的文件。每个 subversion 提交都会导致自动测试并保存到存储库管理器中。然后,Jenkins 中的下游作业可以自动将其部署到开发服务器中以进行自动化集成测试。

    这种方法的优势在于,它无需在构建系统中创建认证流程,而是集成到部署流程中。第二个好处是每个部署到 QA、Staging、Prod 系统总是使用相同的二进制文件。

    值得注意的是,Nexus 专业人士通过其staging suite 支持这种构建推广过程。因此,可以使用票务系统从外部控制此过程,也可以将其集成到二进制存储库管理器中。

    最后,Gerrit 是代码审查系统的一个示例,它具有您正在寻找的许多功能。不幸的是它只支持 Git。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-15
      • 1970-01-01
      • 1970-01-01
      • 2013-04-24
      相关资源
      最近更新 更多