Jenkins:完成 Maven 發布後觸發其他工作

Jenkins:完成 Maven 發布後觸發其他工作

我使用 m2release 插件配置了 Maven 作業。它完美地完成了這項工作,即:

  • 建立我的應用程式
  • 建立發布版本
  • 將其發佈到artificialy

那太棒了。

現在,我希望,每當我發布某些內容時,都會觸發第二個作業,這會將我的工件部署到伺服器。

我找不到辦法做到這一點。

我嘗試編寫 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
}

相關內容