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
}