Home > Development tools and environments > ๐Ÿ› ๏ธ[๊ฐœ๋ฐœ ๋„๊ตฌ ๋ฐ ํ™˜๊ฒฝ] `./gradlew build -x test` ๋ช…๋ น์–ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

๐Ÿ› ๏ธ[๊ฐœ๋ฐœ ๋„๊ตฌ ๋ฐ ํ™˜๊ฒฝ] `./gradlew build -x test` ๋ช…๋ น์–ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?
Development tools Enviroments

๐Ÿ› ๏ธ[๊ฐœ๋ฐœ ๋„๊ตฌ ๋ฐ ํ™˜๊ฒฝ] ./gradlew build -x test ๋ช…๋ น์–ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

  • ./gradlew build -x test ๋ช…๋ น์–ด๋Š” Gradle ๋นŒ๋“œ ์‹œ์Šคํ…œ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œ(Build)ํ•˜๋ฉด์„œ ํ…Œ์ŠคํŠธ(Test) ๋‹จ๊ณ„๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค.

1๏ธโƒฃ ๋ช…๋ น์–ด ๊ตฌ์„ฑ.

1๏ธโƒฃ ./gradlew

  • Gradle Wrapper๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค.
  • ํ”„๋กœ์ ํŠธ ๋‚ด์— ํฌํ•จ๋œ Gradle Wrapper(gradlew)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Gradle ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • Gradle Wrapper๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋กœ์ ํŠธ์— ์„ค์ •๋œ ํŠน์ • Gradle ๋ฒ„์ „์„ ์ž๋™์œผ๋กœ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2๏ธโƒฃ build

  • Gradle์˜ ๊ธฐ๋ณธ ๋นŒ๋“œ(Build) ์ž‘์—…(Task)์ž…๋‹ˆ๋‹ค.
  • ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•˜์—ฌ ์ปดํŒŒ์ผ, ํ…Œ์ŠคํŠธ, ํŒจํ‚ค์ง•(JAR/ZIP ์ƒ์„ฑ ๋“ฑ)์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • build๋Š” ์—ฌ๋Ÿฌ ๋‹จ๊ณ„๋ฅผ ํฌํ•จํ•˜๋ฉฐ, ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    • compileJava : ์ž๋ฐ” ์†Œ์Šค ์ฝ”๋“œ ์ปดํŒŒ์ผ.
    • processResources : ๋ฆฌ์†Œ์Šค ํŒŒ์ผ ์ฒ˜๋ฆฌ.
    • test : ํ…Œ์ŠคํŠธ ์‹คํ–‰.
    • assemble : ์•„ํ‹ฐํŒฉํŠธ ์ƒ์„ฑ(JAR ๋“ฑ).
    • check : ํ’ˆ์งˆ ๊ฒ€์‚ฌ ๋ฐ ํ…Œ์ŠคํŠธ ํ†ตํ•ฉ.
    • build : ์œ„ ๋‹จ๊ณ„๋“ค์„ ํ†ตํ•ฉํ•˜์—ฌ ์‹คํ–‰.

3๏ธโƒฃ -x test

  • -x๋Š” ํŠน์ • ์ž‘์—…(Task)์„ ์ œ์™ธ(Exclude)ํ•œ๋‹ค๋Š” ์˜ต์…˜์ž…๋‹ˆ๋‹ค.
  • ์—ฌ๊ธฐ์„œ๋Š” test ์ž‘์—…์„ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ๊ฑด๋„ˆ๋›ด๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.
  • test๋Š” JUnit๋“ฑ์œผ๋กœ ์ž‘์„ฑ๋œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค.

2๏ธโƒฃ ๋ช…๋ น์–ด์˜ ๋™์ž‘.

  • ./gradlew build -x test๋Š” ํ…Œ์ŠคํŠธ ๋‹จ๊ณ„๋ฅผ ์ œ์™ธํ•˜๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค.
  • ๋นŒ๋“œ ๊ณผ์ •์—์„œ:
    • ์†Œ์Šค ์ฝ”๋“œ๋Š” ์ปดํŒŒ์ผ ๋˜๊ณ ,
    • ๋ฆฌ์†Œ์Šค ํŒŒ์ผ์€ ์ฒ˜๋ฆฌ๋˜๋ฉฐ,
    • ๊ฒฐ๊ณผ๋ฌผ(JAR, ZIP ๋“ฑ)์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
    • ๋‹จ, ํ…Œ์ŠคํŠธ๋Š” ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

3๏ธโƒฃ ์–ธ์ œ ์‚ฌ์šฉํ•˜๋‚˜์š”?

1๏ธโƒฃ ํ…Œ์ŠคํŠธ ์‹คํ–‰ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆด ๋•Œ.

  • ํ…Œ์ŠคํŠธ ๋‹จ๊ณ„๋Š” ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋น ๋ฅด๊ฒŒ ๋นŒ๋“œ๋ฅผ ์™„๋ฃŒํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฌผ(JAR ํŒŒ์ผ ๋“ฑ)๋งŒ ์ƒ์„ฑํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

2๏ธโƒฃ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ•˜๊ฑฐ๋‚˜ ๋ถˆ์™„์ „ํ•œ ์ƒํƒœ์ผ ๋•Œ.

  • ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๊ฐ€ ์™„๋ฒฝํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์‹คํŒจํ•˜์ง€๋งŒ, ๊ฒฐ๊ณผ๋ฌผ๋งŒ ์ƒ์„ฑ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3๏ธโƒฃ CI/CD ํŒŒ์ดํ”„๋ผ์ธ์—์„œ ์„ ํƒ์ ์œผ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑด๋„ˆ๋›ธ ๋•Œ

  • ํ…Œ์ŠคํŠธ ๋‹จ๊ณ„๊ฐ€ ๋ณ„๋„์˜ ํ”„๋กœ์„ธ์Šค์—์„œ ์‹คํ–‰๋˜๋Š” ๊ฒฝ์šฐ, ๋นŒ๋“œ ์‹œ ํ…Œ์ŠคํŠธ๋ฅผ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4๏ธโƒฃ ์˜ˆ์‹œ.

1๏ธโƒฃ ํ…Œ์ŠคํŠธ ํฌํ•จ ๋นŒ๋“œ.

./gradlew build
  • ํ…Œ์ŠคํŠธ ๋‹จ๊ณ„๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

2๏ธโƒฃ ํ…Œ์ŠคํŠธ ์ œ์™ธ ๋นŒ๋“œ.

./gradlew build -x test
  • ํ…Œ์ŠคํŠธ ๋‹จ๊ณ„๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋นŒ๋“œ๊ฐ€ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

5๏ธโƒฃ ์ฃผ์˜์‚ฌํ•ญ.

  • ํ…Œ์ŠคํŠธ๋ฅผ ์ƒ๋žตํ•˜๋ฉด ์ฝ”๋“œ์˜ ํ’ˆ์งˆ์ด๋‚˜ ์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ์ตœ์ข… ๋ฐฐํฌ๋‚˜ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ๋Š” ํ…Œ์ŠคํŠธ ๋‹จ๊ณ„๋ฅผ ํฌํ•จํ•œ ๋นŒ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค.

6๏ธโƒฃ ์š”์•ฝ.

  • ./gradlew build -x test ๋ช…๋ น์–ด๋Š” Gradle์„ ์‚ฌ์šฉํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•˜๋ฉด์„œ ํ…Œ์ŠคํŠธ ๋‹จ๊ณ„๋ฅผ ์ƒ๋žตํ•˜๋Š” ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค.
  • ๋น ๋ฅธ ๋นŒ๋“œ๊ฐ€ ํ•„์š”ํ•˜๊ฑฐ๋‚˜ ํ…Œ์ŠคํŠธ ์ƒํƒœ์™€ ๊ด€๊ณ„์—†์ด ๊ฒฐ๊ณผ๋ฌผ๋งŒ ์ƒ์„ฑํ•˜๋ ค๋Š” ์ƒํ™ฉ์—์„œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.