bamboo 에서 jira 의 project version 명을 붙여서 artifact 생성하기

개요

Software를 Release 하려면 사전에 해주어야 할 작업이 여러가지가 있다.

형상관리에 tagging 도 해야 하고 build 한 output 을 보관해야 하고 Release Notes 도 생성해야 하고 packing 도 해야하고 등등 중요한 작업이 많이 있다.

 

bamboo 와 JIRA를 사용할 경우 Release 하는 방법을 정리해 본다.


사전 작업

  1. Bamboo 와 JIRA 가 Application Link로 연결되어 있어야 한다.
  2. JIRA 에 bamboo plugin 이 설치되어 있어야 한다.
  3. JIRA 의 해당 Project의 관리자여야 Release 가 가능하다.


pom.xml 설정

  1. <build> element 에 다음 내용을 추가한다.

    <build>
            <!--- do something -->
            <finalName>${artifactId}-${bamboo.jira.version}</finalName>
    </build>
  2. <properties> element 에 다음 propety 를 추가한다.

    <bamboo.jira.version>1.0-SNAPSHOT</bamboo.jira.version>
  3. test 를 위해 console 에서 maven build 해 본다.

    mvn clean -Preal package -Dbamboo.jira.version=1.2.3
  4. bamboo.jira.version 이 runtime 에 넘어오면 finalName 에 저 값이 설정되어 artifact 가 생성되고 넘어오지 않을 경우 properties 에 설정된 기본값(1.0-SNAPSHOT)이 설정된다.
  5. Jira 에서 bamboo Release 의 방법대로 Release 하면 Release 시 JIRA 의 project version 명이 붙어서 artifact 가 생성된다.

pom.xml 의 <version> field 에  다음과 같이 설정하는 것은 maven 에서 warning 을 내므로 추천하지 않는다

<version>${bamboo.jira.version}</version>
version에 변수 설정시 에러

[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]

참고자료