maven ์ finalName ์ ๋ช ๋ นํ์์ ๋ณ๊ฒฝ ํ๊ธฐ
๋ฒ์ ๊ด๋ฆฌ๋ฅผ git ์ผ๋ก ๋ณ๊ฒฝํ๊ณ ๋ฑ๋ถ์ ๋ธ๋์น ์๋ ๋น๋ ๊ธฐ๋ฅ์ ์ด์ฉํ์ฌ java web app ์ ๋น๋์ ๋ํ๋ก์ด๋ฅผ ์๋์ผ๋ก ํ๋ ค๊ณ ํ๋ค.
๋ธ๋์น๋ง๋ค ๋ณ๋์ web app context ๋ฅผ ๋ง๋ค๊ณ ์ถ์๋ฐ ์ด๋ ๊ฒ ํ๋ ค๋ฉด ๋งค๋ฒ maven ์ pom ํ์ผ์ finalName ์ ๋ณ๊ฒฝํด์ผ ํ๋ค.
ย
command line ์์ finalName ์ด๋ ๊ธฐํ maven ์ property ๋ฅผ ๋ณ๊ฒฝํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ ์ ์๋ค.
ย
pom.xml ์ finalName ์ ํ๋กํผํฐ๋ฅผ ์ฌ์ฉํ๋๋ก ๋ณ๊ฒฝ. maven์ ๊ธฐ๋ณธ finalName์ ย ${project.artifactId}-${project.version} ์ด๋ค.
<groupId>com.example</groupId> <artifactId>test-web-app</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <properties> <finalName>${project.artifactId}</finalName> </properties> ย <build> <finalName>${finalName}</finalName> </build>
maven ์ ์ํํ ๋ -DfinalName=new-artifact ๋ก ์ง์ ํ์ฌ ์คํํ๋ฉด target ํด๋์ new-artifact.war ๋ก ์์ฑ์ด ๋๋ค.
mvn package -DfinalName=new-artifact ย ## target/new-artifact.war ์์ฑ
์ต์ ์์ด maven ์ ์คํํ๋ฉด ๊ธฐ๋ณธ finalName์ธย test-web-app.war ๋ก ์์ฑ๋๋ค.
mvn package -DfinalName=test-web-app
bamboo ๋ฅผ ์ฌ์ฉํ๋ค๋ฉดย Bamboo variables ์ฌ์ฉ ํ์ฌ ๋ธ๋์น๋ช ์ผ๋ก finalName ์ ์์ฑํ ์ ์๋ค. git์ ๋ธ๋์น๋ช ์ย bamboo.repository.git.branch ๋ณ์์ ์ค์ ๋๋ค.
mvn package -DfinalName=${bamboo.repository.git.branch}
- ย bamboo ์์ ๋ฐ๋ก tomcat ์ deploy ํ๋ ค๋ฉด WAR FIle ํญ๋ชฉ์ ์๋์ฒ๋ผ ๋ณ์๋ช
์ ์ค์ ํ๋ฉด ๋ณ๊ฒฝ๋ war ๋ฅผ ์ฐธ์กฐํ๋ค.
ย
ย