【问题标题】:Tool-supported software release workflow工具支持的软件发布工作流程
【发布时间】:2012-12-18 23:00:31
【问题描述】:

我们目前正在建立一个工具支持的软件发布工作流程。

我们当前的环境包括以下内容:

  • Jenkins 构建服务器
  • Subversion 存储库
  • Nexus Maven 存储库

构建服务器产生各种不同的工件,其中一些 是由 Maven 创建并存储在 Nexus 存储库中的 Java 工件, 还有我们目前必须手动存储和管理的非 Java 工件。

我们的目标是创建一个包含多个 异构组件。发布配置应定义:

  • 属于它的组件
  • 这些组件的确切版本
  • 用于创建这些组件的源代码

发布配置应包含所有相关信息 以便了解并可能在以后重现该版本。

实现此工作流程的工具还应支持质量保证 通过允许将发布标记为不稳定、测试或稳定。

所以问题是:是否有任何工具支持所描述的 工作流程?

【问题讨论】:

  • 你已经拥有了系统等所有组件要构建,你只需要在Jenkins中配置项目构建。使用 M2 Releases 插件来利用 Maven 管理发布生命周期的能力(包括在 subversion 中标记源代码)
  • 问题是,a) maven 不涵盖非 java 工件,b) 如果没有复杂的存储库设置来促进 qa 测试和发布之间的工件,它是不可能的(很容易)跨度>

标签: svn maven jenkins workflow release


【解决方案1】:

您应该考虑使用 JIRA,这是来自 Atlassian 的工具。使用 JIRA 可以轻松跟踪问题、发布等。这里要提及的功能太多了,但我建议您查看链接。

【讨论】:

  • 如何使用 jira 自动管理软件工件?!?
  • 使用Bamboo
【解决方案2】:

选择通用包存储库(rpm、deb)而不是 Java 工件存储库。发布配置现在成为一个一流的包,它声明依赖项(属于它的组件)及其版本。至于来源,您也可以选择创建source packages。如果您只对源可追溯性感兴趣,您可以将自定义元数据添加到包规范中,例如在描述中添加一些可解析的东西。 fpm 是创建这些包的流行工具。

相关链接:

http://www.techrepublic.com/blog/opensource/create-your-own-yum-repository/609

https://github.com/sonatype/nexus-yum-plugin

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多