Docz: CI์—์„œ ๋นŒ๋“œ ๋กœ๊ทธ๊ฐ€ ๋„ˆ๋ฌด ๊น๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2019๋…„ 01์›” 22์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: doczjs/docz

์•ˆ๋…•ํ•˜์„ธ์š” @pedronauck ๐Ÿ‘‹์ž…๋‹ˆ๋‹ค!

๋ฒ„๊ทธ ์‹ ๊ณ 

๋ฒ„๊ทธ ์„ค๋ช…

docz 0.11์—์„œ 0.13์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ธฐ ์ „์— ๋นŒ๋“œ ๋กœ๊ทธ์˜ stdout์€ ๋งค์šฐ ๊ฐ„๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.
screenshot 2019-01-22 at 15 51 46

๊ทธ๋ฆฌ๊ณ  ์ด์ œ ๋งค ์ˆœ๊ฐ„๋งˆ๋‹ค stdout์— ์ƒˆ๋กœ์šด ์ค„์ด ์ถ”๊ฐ€๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฑฐ์˜ ๋์ด ์—†์Šต๋‹ˆ๋‹ค.
screenshot 2019-01-22 at 15 48 11

์žฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด

tty๊ฐ€ ์•„๋‹Œ ํ™˜๊ฒฝ(์˜ˆ: CI)์—์„œ docz ๋นŒ๋“œ

์˜ˆ์ƒ๋˜๋Š” ํ–‰๋™

TTY์—์„œ๋งŒ ์ž‘๋™ํ•˜๋Š” โ  Creating production build ์ธ์‡„ํ•  ๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์˜ˆ์ƒ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ

  • OS: Azure Pipelines์˜ Linux VM

ํžŒํŠธ

if (process.stdout.isTTY) {
  // animated output (erasing and restoring the current line's output is supported)
} else {
  // plain console output (can't erase what's already been printed)
}

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š” ๋Œ€๋ถ€๋ถ„์˜ CI์—๋Š” process.env.CI = true ์žˆ์Šต๋‹ˆ๋‹ค. ์ง„ํ–‰๋ฅ  ์ธ์‡„๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

๋ชจ๋“  3 ๋Œ“๊ธ€

process.stdout.isTTY ์— ์˜์กดํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋Š” ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ CI์—์„œ๋Š” ์‚ฌ์‹ค์ด๋ฉฐ ์ด๋Š” ์˜คํ•ด์˜ ์†Œ์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ํ•˜๋‚˜์™€ ์œ ์‚ฌํ•œ ์‚ฌ์šฉ์ž ์ •์˜ isTTY() ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. https://github.com/prettier/prettier/pull/5804

์•ˆ๋…•ํ•˜์„ธ์š” ๋Œ€๋ถ€๋ถ„์˜ CI์—๋Š” process.env.CI = true ์žˆ์Šต๋‹ˆ๋‹ค. ์ง„ํ–‰๋ฅ  ์ธ์‡„๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

Prettier์˜ isTTY() ๊ธฐ๋Šฅ์„ ๋ณต์‚ฌํ•˜์—ฌ ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. process.env.CI ๋˜๋Š” process.stdout.isTTY ๋Š” ๋ชจ๋“  ์‹ค์ œ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋Œ€ํ•ด ์ถฉ๋ถ„ํ•œ ํ™•์ธ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰