Jenkins:完成 Maven 发布后触发其他工作

Jenkins:完成 Maven 发布后触发其他工作

我使用 m2release 插件配置了一个 maven 作业。它完美地完成了工作,即:

  • 构建我的应用程序
  • 构建发布版本
  • 将其发布到artifactory

那太棒了。

现在,我希望,每当我发布某些东西时,都会触发第二项作业,将我的工件部署到服务器上。

我找不到办法做到这一点。

我尝试编写一个 Groovy 脚本,但是无法在其中识别我正在运行发布运行。

PS:我发现了如何在这里触发 groovy 中的脚本:https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin

答案1

我最终解析了输出日志中版本号的日志:

// Initialize some stuff
def build = Thread.currentThread().executable
def log = manager.build.logFile.text

// We are looking for maven parameter -DreleaseVersion=1.1.1 (space at the end)
def versionFinder = log =~ /-DreleaseVersion=([0-9]+\.[0-9]+\.[0-9]+) /

def RELEASE_VERSION=""
if (versionFinder.size() > 0) {
  RELEASE_VERSION=versionFinder.getAt(0)[1];
}

if (RELEASE_VERSION > "") {
  manager.listener.logger.println("Release version: " + RELEASE_VERSION);
  // Continue with release script
  // For example, here: // https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin
}

相关内容