ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

728x90
๋ฐ˜์‘ํ˜•

์ž‘๋…„์— git action์ด ๋“ฑ์žฅํ•œ ์ดํ›„๋กœ ์žฌ๋ฏธ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋“ค์ด ๋“ฑ์žฅํ•˜์˜€๋‹ค. ๊ทธ์ค‘ ํ•˜๋‚˜๋Š” action์„ ์‚ฌ์šฉํ•˜์—ฌ, ๋‚˜์˜ commit ์ •๋ณด์˜ ์‹œ๊ฐ„๋Œ€๋ฅผ ํŒŒ์•…ํ•˜์—ฌ ๊ฐฑ์‹ ์‹œ์ผœ์ฃผ๋Š” I'm an early ๐Ÿค๋ผ๋Š” ํ”„๋กœ์ ํŠธ์ด๋‹ค.

 

I'm an early ๐Ÿค?

 ์ผ์ฐ ์ผ์–ด๋‚˜๋Š” ์Šต๊ด€์„ ๊ฐ€์ง€๋Š” ์‚ฌ๋žŒ์„ ์˜๋ฏธํ•˜๋Š” ๋ง๋กœ, ์ ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ํ”„๋กœ์ ํŠธ ๋ง๊ณ ๋„ ๋‹ค์–‘ํ•œ ๊ณณ์—์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ๋ง์ด๋‹ค. git์˜ productive-box๋ฅผ forkํ•˜๊ณ  gist ์ƒ์„ฑ ํ›„ action์„ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 ์ ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ํ•˜๋ฃจ์— ํ•œ ๋ฒˆ cron์„ ํ†ตํ•ด ์ฃผ๊ธฐ์ ์œผ๋กœ ๋‚˜์˜ commit ์ •๋ณด์™€ ์‹œ๊ฐ„๋Œ€๋ฅผ ๊ฐ€์ ธ์™€ ๊ฐฑ์‹ ํ•ด์ฃผ๊ฒŒ ๋˜๋ฉฐ, ์ด๋ฅผ pinned ํ•œ๋‹ค๋ฉด ๋‚˜์˜ git profile์—์„œ ๋ฐ”๋กœ ๋งŒ๋‚  ์ˆ˜ ์žˆ๋‹ค.

 

์ ์šฉ ๋ฐฉ๋ฒ•

์ ์šฉ ๋ฐฉ๋ฒ•์€ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์— ์ ํ˜€์žˆ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ์ง„ํ–‰ํ•˜๋ฉด ๋œ๋‹ค.

์‚ฌ์ „ ์ž‘์—…

  • Public Github Gist ๋งŒ๋“ค๊ธฐ

    • Github Gist ๋งŒ๋“ค๊ธฐ

    • Gist์˜ ์ด๋ฆ„์ด๋‚˜ ๋‚ด์šฉ์€ ์•„๋ฌด๊ฑฐ๋‚˜ ์ ์–ด๋„ ์ƒ๊ด€์—†๋‹ค.

  • repository์™€ gist์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ token ๋งŒ๋“ค๊ธฐ

    • token ๋งŒ๋“ค๊ธฐ → ์ƒ์„ฑ ํ›„ token ๊ฐ’์„ ๋ณต์‚ฌํ•ด ๋‘”๋‹ค.

    • scope ์„ ํƒ : repo, gist

      • ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์„ ํƒํ•˜๋ฉด ๋œ๋‹ค.

 

ํ”„๋กœ์ ํŠธ ์„ค์ •

GIST_ID, GH_TOKEN ์„ค์ •

  1. productive-box๋ฅผ fork ํ•œ๋‹ค.

  2. fork ํ•œ repository์—์„œ action ํƒญ์„ ์„ ํƒํ•˜์—ฌ enable ํ•œ๋‹ค.

  3. .github/workflows/schedule.yml์—์„œ env์— ๋Œ€ํ•œ ๊ฐ’์„ ์ˆ˜์ •ํ•œ๋‹ค

    • GIST_ID : ${{ screts.GIST_ID }}

    • LOCALE :ko-KR

      • ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ko-KR์„ ์ ๋Š” ๊ฒƒ์„ ๋ณด๊ณ  ๋”ฐ๋ผํ–ˆ๋Š”๋ฐ ์ด๋ ‡๊ฒŒ ์–ผ๋ฆฌ ๋ฒ„๋“œ๊ฐ€ ๋˜๊ณ ์ž ํ•˜๋Š” ๊ณ„๋žต์ธใ„ฑํ•˜๋ฉด ํ•œ๊ตญ์˜ TIMEZONE๊ณผ ๋งž์ถฐ์ง€์ง€ ์•Š๋Š”๋‹ค.
  4. repository์˜ Setting > Secrets์—์„œ GIST_ID์™€ GH_TOKEN ๊ฐ’์„ ์„ค์ •ํ•ด ์ค€๋‹ค.

    • New secret์„ ์„ ํƒํ•˜๊ณ , Name์— GIST_ID, Value์— gist.github.com/user_name/์ดํ›„์˜ ๊ฐ’ ์„ ๋ณต์‚ฌํ•˜์—ฌ ๊ธฐ์ž…ํ•œ๋‹ค.

    • GH_TOKEN๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ƒ์„ฑ์„ ํ†ตํ•ด Name, Value๋ฅผ ๊ธฐ์ž…ํ•œ ํ›„ Add secret์„ ํ†ตํ•ด ์ถ”๊ฐ€ํ•œ๋‹ค.

์œ„์˜ ๊ณผ์ •์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ž˜ ์ง„ํ–‰ํ•˜์˜€๋‹ค๋ฉด, ํ•˜๋ฃจ ์ •๋„ ๊ธฐ๋‹ค๋ฆฌ๋ฉด cron์— ์ง€์ •ํ•œ ๋Œ€๋กœ 24์‹œ๊ฐ„๋งˆ๋‹ค ํ•œ ๋ฒˆ์”ฉ ์—…๋ฐ์ดํŠธ๋ฅผ ํ•˜์—ฌ ๋‚˜์˜ repository ์ •๋ณด๋ฅผ ๋ฐ˜์˜ํ•˜์—ฌ ๋‚ด๊ฐ€ early bird์ธ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

 

์ ์šฉ ํ™•์ธ

 ์ตœ์ดˆ์— schedule.yml์„ ์ˆ˜์ •ํ•˜๋ฉด ์œ„์™€ ๊ฐ™์ด action์—์„œ update ๋œ ์ƒํ™ฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ทธ๋ ‡๋‹ค๋ฉด ์ •์ƒ์ ์œผ๋กœ action์ด ์ˆ˜ํ–‰๋˜๋Š” ์ƒํƒœ์ด๋‹ค. ๊ทธ ํ›„ TIME ZONE์„ ๊ธฐ์ค€์œผ๋กœ ์ž์ •์ด ๋˜๋ฉด ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

๋‹ค์–‘ํ•œ pinned gist ํ”„๋กœ์ ํŠธ๋“ค

์†Œ๊ฐœํ•œ I'm an early ๐Ÿค ํ”„๋กœ์ ํŠธ ์ด์™ธ์— pinned์— ์‚ฌ์šฉํ•˜๊ธฐ ์ ํ•ฉํ•œ ๋‹ค์–‘ํ•œ ํ”„๋กœ์ ํŠธ๋“ค์ด ์กด์žฌํ•œ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€
๊ธ€ ๋ณด๊ด€ํ•จ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€