【问题标题】:Maven deploy configs in pom.xml VS jenkins post-build actionMaven 在 pom.xml VS jenkins 构建后操作中部署配置
【发布时间】:2014-01-11 19:39:31
【问题描述】:

实际上,我看到了两种选择如何将我的项目部署到 NEXUS:

  1. pom.xml 中配置distributionManagementdeploy-plugin。在詹金斯我应该只打电话给mvn deploy,我的项目将被部署到环境中
  2. 在Jenkins中创建Post-build Actions -> Deploy artifacts to maven repository,在这里我可以设置repository URLrepository ID等等

问题

比较每种方法的优缺点是什么?

【问题讨论】:

    标签: maven jenkins continuous-integration nexus artifactory


    【解决方案1】:

    如果您在 Jenkins 构建配置中配置部署,您正在做两件事

    • 您将部署与项目本身分开,因此可能会为同一个项目进行不同的部署
    • 您从版本控制设置/源代码中删除了部署设置

    如果您使用默认的 Maven 设置将其留在 pom 中,您可以在任何已正确设置凭据的机器上从命令行运行项目的部署,而无需修改。这可以极大地帮助排除故障,并使设置独立于您使用的任何 CI 服务器。

    这两种方法以及更多自定义设置(例如使用 Artifactory Build Integration 或 Nexus Staging Maven 插件使用)都很好。这主要取决于您要实现的目标。

    我个人认为配置不应该与 Jenkins 隔离,应该保留在 pom.xml 中的项目中。但这只是我的 2c。

    【讨论】:

      【解决方案2】:

      感谢您添加 Artifactory 标签,现在我可以再给您一个选项 - Artifactory Build Integration。使用 Artifactory Jenkins 插件,您可以配置您的部署选项(目标存储库,是否要部署构建信息、环境变量和自定义属性等),而不会用仅 ci-eyes 的信息污染您的开发人员 pom。

      【讨论】:

      • @JBarush 那么什么更好呢?使用 jenkins 构建后操作全部配置?
      • 使用 Artifactory Jenkins 插件并在那里进行配置。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-30
      • 1970-01-01
      • 2018-01-21
      • 2020-02-26
      • 1970-01-01
      • 2012-12-06
      • 2018-10-01
      相关资源
      最近更新 更多