【问题标题】:Build Pipeline with Jenkins - M2 Release -> Deployment to JBoss AS使用 Jenkins 构建管道 - M2 发布 -> 部署到 JBoss AS
【发布时间】:2014-05-21 13:09:53
【问题描述】:

我使用 Jenkins 作为 CI 环境,我希望能够将构建工件直接部署到 JBoss AS 7.1.1 服务器。为了发布 Maven 工件,我使用了 Jenkins M2 Release Plugin。

出现问题的项目的项目结构如下:

  • 神器-父-pom
    • webapp 模块
    • 主题模块

maven 目标 jboss-as:deploy 只能在 webapp-module 上调用。

为了在每次构建时将 webapp-module 部署到 JBoss 服务器,我添加了一个构建后步骤调用

mvn jboss-as:deploy

在子模块上。这适用于标准 SNAPSHOT 构建,但不适用于发布构建。

当使用 Jenkins M2 Release Plugin 发布新的工件版本时,版本号在执行构建后步骤时已经更新到下一个 SNAPSHOT 版本。我尝试在发布步骤直接部署发布版本,但这不起作用,因此无法在 parent-pom 上调用目标 jboss-as:deploy。

我发现的所有 Jeknins 插件都只支持旧版本的 JBoss,比如

  • 部署到容器插件
  • JBoss 管理插件

有没有一种简单的方法可以让它工作?

【问题讨论】:

  • 您看到错误了吗?只是想弄清楚什么是行不通的。
  • 问题是,属性 project.parent.version 已经设置为 $MVN_DEV_VERSION 并且尚未使用此版本构建工件,但是要部署的工件。因此构建失败。
  • 您可以使用filename 属性来设置文件名,如果这有助于docs.jboss.org/jbossas/7/plugins/maven/latest/…。不完全确定如何,但如果你能得到旧版本,它会工作的。

标签: maven jenkins continuous-integration jboss7.x continuous-deployment


【解决方案1】:

我找到了解决方法。我做了两种配置,一种用于 SNAPSHOTS,一种用于 RELEASE 构建。在 RELEASE 构建中,我添加了两个调用目标版本的后期步骤:在父 pom 上设置但具有不同的属性。这会导致以下后期步骤:

  • mvn newVersion=${MVN_RELEASE_VERSION}
  • mvn jboss-as:deploy
  • mvn newVersion=${MVN_DEV_VERSION}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 2012-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-06
    相关资源
    最近更新 更多