TL;DR
Jenkins의 기본 제공되는 environment variables 에는 Git 커밋메시지 환경변수가 없습니다.
최신 Git 커밋메시지를 추출하여 환경 변수로 저장하고, 다른 Job에 전달하는 방법을 기록하였습니다.
사전설치
- Jenkins v2.235.3
- Environment Injector Plugin v2.3.0
- Parameterized Trigger Plugin v2.37
Jenkins Job 설정 및 실행
예시)
Pre-Job은 최신 Git 커밋메시지를commit_message
변수로 저장하고, Post-Job을 실행시킵니다.
Post-Job은 전달 받은commit_message
를 화면에 출력합니다.
1. Pre-Job
https://github.com/jenkinsci/jenkins 의 master 브랜치에서 소스를 가져옵니다.
commit_message
에 최신 Git 커밋메시지를 저장하고, Inject environment variables
을 추가합니다.
echo commit_message=$(git log --oneline --format=%B -n 1 HEAD | head -n 1) > ./temp.properties
Post-Job을 실행시킵니다.
Trigger parameterized build on other projects
과 Predefined parameters
를 활용합니다.
Pre-Job 콘솔 출력은 다음과 같습니다.
2. Post-Job
commit_message
를 String Parameter
변수로 받고, 화면에 출력합니다.
Post-Job 콘솔 출력은 다음과 같습니다.