bamboo 에서 jira 의 project version 명을 붙여서 artifact 생성하기
개요
Software를 Release 하려면 사전에 해주어야 할 작업이 여러가지가 있다.
형상관리에 tagging 도 해야 하고 build 한 output 을 보관해야 하고 Release Notes 도 생성해야 하고 packing 도 해야하고 등등 중요한 작업이 많이 있다.
bamboo 와 JIRA를 사용할 경우 Release 하는 방법을 정리해 본다.
사전 작업
- Bamboo 와 JIRA 가 Application Link로 연결되어 있어야 한다.
- JIRA 에 bamboo plugin 이 설치되어 있어야 한다.
- JIRA 의 해당 Project의 관리자여야 Release 가 가능하다.
pom.xml 설정
<build> element 에 다음 내용을 추가한다.
<build> <!--- do something --> <finalName>${artifactId}-${bamboo.jira.version}</finalName> </build>
<properties> element 에 다음 propety 를 추가한다.
<bamboo.jira.version>1.0-SNAPSHOT</bamboo.jira.version>
test 를 위해 console 에서 maven build 해 본다.
mvn clean -Preal package -Dbamboo.jira.version=1.2.3
- bamboo.jira.version 이 runtime 에 넘어오면 finalName 에 저 값이 설정되어 artifact 가 생성되고 넘어오지 않을 경우 properties 에 설정된 기본값(1.0-SNAPSHOT)이 설정된다.
- Jira 에서 bamboo Release 의 방법대로 Release 하면 Release 시 JIRA 의 project version 명이 붙어서 artifact 가 생성된다.
pom.xml 의 <version> field 에 다음과 같이 설정하는 것은 maven 에서 warning 을 내므로 추천하지 않는다
[WARNING] Some problems were encountered while building the effective model for com.artifactId.artifactNam:artifactName:war:1.0-SNAPSHOT
[WARNING] 'version' contains an expression but should be a constant. @ com.artifactId.artifactName:${bamboo.jira.version}, /home/lesstif/work/artifactName/pom.xml, line 7, column 12
[WARNING] The expression ${artifactId} is deprecated. Please use ${project.artifactId} instead.
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]