ํฐ์คํ ๋ฆฌ ๋ทฐ
git: I'm an early ๐ค ์ ์ฉํ๊ธฐ
dirmathfl 2020. 7. 16. 00:47์๋ ์ 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 ๋ง๋ค๊ธฐ
-
Gist์ ์ด๋ฆ์ด๋ ๋ด์ฉ์ ์๋ฌด๊ฑฐ๋ ์ ์ด๋ ์๊ด์๋ค.
-
repository์ gist์ ์ ๊ทผ ๊ฐ๋ฅํ token ๋ง๋ค๊ธฐ
-
token ๋ง๋ค๊ธฐ → ์์ฑ ํ token ๊ฐ์ ๋ณต์ฌํด ๋๋ค.
-
scope ์ ํ : repo, gist
- ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ ํํ๋ฉด ๋๋ค.
-
ํ๋ก์ ํธ ์ค์
-
productive-box๋ฅผ fork ํ๋ค.
-
fork ํ repository์์ action ํญ์ ์ ํํ์ฌ enable ํ๋ค.
-
.github/workflows/schedule.yml
์์ env์ ๋ํ ๊ฐ์ ์์ ํ๋ค-
GIST_ID
: ${{ screts.GIST_ID }} -
LOCALE
:ko-KR- ๋ค๋ฅธ ์ฌ๋์ด ko-KR์ ์ ๋ ๊ฒ์ ๋ณด๊ณ ๋ฐ๋ผํ๋๋ฐ ์ด๋ ๊ฒ
์ผ๋ฆฌ ๋ฒ๋๊ฐ ๋๊ณ ์ ํ๋ ๊ณ๋ต์ธใฑํ๋ฉด ํ๊ตญ์ TIMEZONE๊ณผ ๋ง์ถฐ์ง์ง ์๋๋ค.
- ๋ค๋ฅธ ์ฌ๋์ด ko-KR์ ์ ๋ ๊ฒ์ ๋ณด๊ณ ๋ฐ๋ผํ๋๋ฐ ์ด๋ ๊ฒ
-
-
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์ ์ฌ์ฉํ๊ธฐ ์ ํฉํ ๋ค์ํ ํ๋ก์ ํธ๋ค์ด ์กด์ฌํ๋ค.