ํ์ฌ ์๊ฐ
1C์์๋ ํ๋ซํผ๋ฟ๋ง ์๋๋ผ ๊ฐ๋ฐํฉ๋๋ค.
๊ธฐ์
์ฐ๋ฆฌ๋ Java ์ ํ๋ฆฌ์ผ์ด์
์ ๋น๋ ์์คํ
์ผ๋ก Maven์ ๊ฐ์ฅ ์์ฃผ ์ฌ์ฉํฉ๋๋ค. ์ด ์งง์ ๊ธฐ์ฌ์์๋ ๊ฐ๋ฐ์ ๊ตฌ์ฑํ๋ ๊ณผ์ ์์ ์ง๋ฉดํด์ผ ํ๋ ๋ฌธ์ ์ค ํ๋์ ์ด๋ฅผ ๊ทน๋ณตํ ์ ์๋ ์ ๊ทผ ๋ฐฉ์์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์ถ์ต๋๋ค. ๋ฌธ์ .
ํ์ ๊ตฌ์ฑ ์์ ๋ฐ ์ํฌํ๋ก
Maven ํ๋ก์ ํธ์ ๊ฐ๋ฐ ํน์ฑ์ผ๋ก ์ธํด ์ฐ๋ฆฌ๋ ๊ฝค ๋ง์ ๋ชจ๋, ์ข ์์ฑ ๋ฐ ํ์ ํ๋ก์ ํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํ ํธ๋ฆฌ์ pom ํ์ผ ์๋ ์์ญ ๋๋ ์๋ฐฑ ๊ฐ๊ฐ ๋ ์ ์์ต๋๋ค.
๊ทธ๊ฒ์ ๋ณ๊ฒ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ผ ๊ฒ์
๋๋ค. ๊ทธ๋ค์ ๊ทธ๊ฒ์ ํ ๋ฒ ๋ง๋ค๊ณ ์์ด ๋ฒ๋ ธ์ต๋๋ค. ํ ๋ฒ์ ๋ชจ๋ ํ์ผ์ ๋ด์ฉ์ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ถ๊ฐํด์ผ ํ๋ ๊ฒฝ์ฐ ํธ์ง๊ธฐ์ IDE์ ํธ๋ฆฌํ ๋๊ตฌ๊ฐ ๋ง์ด ์์ต๋๋ค. pom.xml์ ๋ํ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ ๊ธฐ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฌด์์
๋๊น? ์ฐ๋ฆฌ๋ ํ๋ก์ ํธ ๋ฒ์ ๋ฐ ์ข
์์ฑ์ด ๋ณ๊ฒฝ๋์๋ค๊ณ ๋ฏฟ์ต๋๋ค. ์๋ง๋ ๋๊ตฐ๊ฐ๋ ์ด๊ฒ์ ๋ํด ๋
ผ์ํ๊ณ ์ถ์ ๊ฒ์
๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ด ๋ฐ๋ก ์ฐ๋ฆฌ์ ์ํฉ์
๋๋ค. ๊ทธ ์ด์ ๋ ์ปค๋๊ณผ ํจ๊ป ๋ง์ ์์ฒด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋์์ ๊ฐ๋ฐํ๊ณ ์์ผ๋ฉฐ ๋น๋ ๋ฐ ํ
์คํธ ๊ฒฐ๊ณผ์ ์ง์์ ์ธ ์ฌํ์ฑ์ ์ํด ์ค๋
์ท์ ์ฌ์ฉํ๋ ๊ฒ์ด ํธ๋ฆฌํ ์ ๊ทผ ๋ฐฉ์์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๋ฌํ ์ด์ ๋ก ๊ฐ ๋น๋๋ง๋ค ํ๋ก์ ํธ์ ๋ฒ์ ๋ฒํธ๋ฅผ ๋์ฌ์ผ ํฉ๋๋ค.
๋ํ ๋๋๋ก ๊ฐ๋ฐ์๋ ์์ ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ถ๊ธฐ๋ฅผ ๊ตฌ์ถํ๊ณ ๋ชจ๋ ์ข ์์ฑ์ ๋ํด ํด๋น ๊ธฐ๋ฅ์ ํ์ธํด์ผ ํ๋ฉฐ, ์ด ๊ฒฝ์ฐ ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฒ์ ์ ์๋์ผ๋ก ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
์ด๊ธฐ ์๋ฃจ์
์ด์ฒ๋ผ ๋น๋ฒํ๊ณ ๋ค์ํ ๋ฒ์ ๋ณ๊ฒฝ์ผ๋ก ์ธํด CI ๋ด ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํ๊ณ ์๋ํํ๊ณ ์ถ์ต๋๋ค. ํธ๋ฆฌํ๊ณ ์ ์๋ ค์ง ํ๋ฌ๊ทธ์ธ์ด ๊ตฌ์ถ๋๋ ๊ณณ์ ๋๋ค. ๋ฒ์ -maven-ํ๋ฌ๊ทธ์ธ - ์ฐ๊ฒฐํ๊ณ ์คํํ์ธ์
mvn -N ๋ฒ์ :set -DnewVersion=2.0.1
๊ทธ๋ฆฌ๊ณ Maven์ ํ์ํ ๋๋ก ๋ชจ๋ ์์ ์ ์ํํฉ๋๋ค. ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์์์ ์๋๋ก ์คํํ์ฌ ๋ชจ๋ ๋ฒ์ ์ ๋์ฒดํฉ๋๋ค. ์ด์ ๋จ์ ๊ฒ์ ๋์ด์ค๊ธฐ ์์ฒญ์ ์ ์ถํ๋ ๊ฒ๋ฟ์ ๋๋ค. ๊ทธ๋ฌ๋ฉด ๋๋ฃ๋ค์ด ๋ณ๊ฒฝ ์ฌํญ์ ๊ฒํ ํ๊ณ ์ ์ํ๊ฒ ํธ๋ ํฌ์ ์ฐธ์ฌํ ์ ์์ต๋๋ค. ๋น ๋ฅด๊ฒ? ๊ทธ๊ฒ์ด ์ด๋ป๋ ์๊ด ์์ต๋๋ค. ์ด๋ฐฑ pom.xml ๊ฒํ ์ฉ์ด๋ฉฐ ์ด๋ ์ฝ๋๋ฅผ ๊ณ์ฐํ์ง ์์ต๋๋ค. ๋ํ ์ด๋ ๊ฒ ๋ง์ ๋ณ๊ฒฝ๋ ํ์ผ๋ก ์ธํ ๋ณํฉ ์ถฉ๋๋ก๋ถํฐ ๋๊ตฌ๋ ์์ ํ์ง ์์ต๋๋ค. CI ํ๋ก์ธ์ค์์ ๋ฒ์ ๋ณ๊ฒฝ์ ๊ธฐ๋ฅ ๋ณ๊ฒฝ๊ณผ ํจ๊ป ์๋์ผ๋ก ๋ฐ์ํ๋ฉฐ ๋ณ๋๋ก ๋ฐ์ํ์ง ์๋๋ค๋ ์ ์ ์ ์ํด์ผ ํฉ๋๋ค.
์๋ก์ด ๊ธฐ๋ฅ
ํ๋์ ์ฐ๋ฆฌ๋ ์ง์ ํ๊ณ ์ฌ์ํ๊ณ ๊ทธ ์ฌ๋๋ค์ด ๋์ฌ ๋๊น์ง ๊ทธ๋ ๊ฒ ์ด์์ต๋๋ค.
mvn -Drevision=2.0.0 ํด๋ฆฐ ํจํค์ง
์์คํ ์์ฑ ๊ฐ์ ๋ค์์ ์ ์๋ ๊ฐ๋ณด๋ค ์ฐ์ ํฉ๋๋ค.์์ฑ>.
๋ถ๋ชจ์
4.0.0
org.apache
์ํ์น
18
org.apache.maven.ci
์น๋ถ๋ชจ
์ฒซ ๋ฒ์งธ CI ์นํ์
${๊ฐ์ }${sha1}${๋ณ๊ฒฝ ๋ชฉ๋ก}
...
1.3.1
-์ค๋
์ฌ์ง
ํ์
4.0.0
org.apache.maven.ci
์น๋ถ๋ชจ
${๊ฐ์ }${sha1}${๋ณ๊ฒฝ ๋ชฉ๋ก}
org.apache.maven.ci
ci-child
...
๋ฒ์ 2.0.0-SNAPSHOT์ ๋น๋ํ๋ ค๋ฉด ๋ค์์ ์ฌ์ฉํ์ธ์.
mvn -Drevision=2.0.0 ํด๋ฆฐ ํจํค์ง
์ถ์ํ๊ณ ์ถ๋ค๋ฉด SNAPSHOT์ ์ฌ์ค์ ํ์ธ์.
mvn -Dchangelist= ํจํค์ง ์ ๋ฆฌ
*์์ ์์๋ ๋ค์์์ ๋ฐ์ทํ ๊ฒ์
๋๋ค.
๊ฐํนํ ํ์ค
๋ชจ๋ ๊ฒ์ด ์ข๊ณ ๊ฑด๊ฐํ๋ฉฐ ์ด์ ๋ง์กฑ๊ฐ์ ๋๋ ๋์ด์ง๋ง ๊ทธ๋ ์ง ์์ต๋๋ค. ์ด ๋ฐฉ๋ฒ์ ์ ์ฅ์์ ๊ฒ์๋ ์ํฐํฉํธ ์ค๋ช ์์ ๋์ฒด๋์ง ์์ผ๋ฏ๋ก ์ค์น ๋ฐ ๋ฐฐํฌ์๋ ์๋ํ์ง ์๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ${๊ฐ์ } ๊ทธ ์๋ฏธ์ ๋ํด ์์๋ณด๋ฉด ๋ฉ์ด๋ธ์ ๋ ์ด์ ๊ทธ๊ฒ์ด ๋ฌด์์ธ์ง ์ดํดํ์ง ๋ชปํ ๊ฒ์ ๋๋ค.
org.apache
์ํ์น
${๊ฐ์ }
ํฐ๋ ๋์ ๋น
์ฐ๋ฆฌ๋ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ
์ ์ฐพ์์ผ ํฉ๋๋ค. ์ํฉ์ ์ด๋ฆด ์๋ ์์์ ํ
๋ฐ
ํ๋ก์ ํธ์ ํ๋ฌ๊ทธ์ธ ์ถ๊ฐ
org.codehaus.mojo
flatten-maven-ํ๋ฌ๊ทธ์ธ
1.1.0
์ง์ค
ํด๊ฒฐCiFriendlies๋ง
๋จ์กฐ๋กญ๊ฒ ํ๋ค
ํ๋ก์ธ์ค ๋ฆฌ์์ค
๋จ์กฐ๋กญ๊ฒ ํ๋ค
ํํํ๊ฒ ํ๋ค.์ฒญ์ํ๋ค
๊นจ๋ํ
๊นจ๋ํ
์๋ฃ!
ํ๋ณตํ ๊ฒฐ๋ง
์ด์ ๋ถํฐ ์ ์ฒด ํ๋ก์ ํธ์ ๋ฒ์ ์ ๋ณ๊ฒฝํ๊ณ ๋ชจ๋ ์ข
์์ฑ์ ์ด๋ฅผ ์๋ฆฌ๋ ค๋ฉด ์์๋ฅผ ํธ์งํ๋ฉด ๋ฉ๋๋ค.๊ฐ์ > ๋ฃจํธ์๋ง ์์ pom.xml. ๋์ผํ ๋ณ๊ฒฝ ์ฌํญ์ด ํฌํจ๋ ํ์ผ ์ค ๋ฐฑ๋ ๊ฐ๊ฐ ์๋ ํ๋๊ฐ ๊ฒํ ์ ๋์ฐฉํฉ๋๋ค. ๋ญ, ์ธ ํ์๋ ์์ง ๋ฒ์ -maven-ํ๋ฌ๊ทธ์ธ.
์ถ์ฒ : habr.com