Jenkins: Maven 릴리스를 완료한 후 다른 작업을 트리거합니다.

Jenkins: Maven 릴리스를 완료한 후 다른 작업을 트리거합니다.

m2release 플러그인을 사용하여 Maven 작업을 구성했습니다. 그것은 다음과 같은 작업을 완벽하게 수행합니다.

  • 내 애플리케이션 구축
  • 릴리스 버전 빌드
  • 아티팩트에 게시

훌륭해요.

이제는 뭔가를 릴리스할 때마다 두 번째 작업이 트리거되어 내 아티팩트를 서버에 배포하기를 원합니다.

나는 그렇게 할 방법을 찾을 수 없습니다.

Groovy 스크립트를 작성하려고 했지만 릴리스 실행을 실행 중인지 확인할 수 없습니다.

추신: 여기에서 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
}

관련 정보