Github Actions๋ก Issues Assignees ์๋ํํ๊ธฐ
๊ฐ์
Github Actions
๋ฅผ ์ด์ฉํด์ ์๋์ผ๋ก ์ด์์ ๋๊ธ์ ํน์ ํค์๋๊ฐ ๋ค์ด๊ฐ๋ฉด ํด๋น ๋๊ธ ์์ฑ์๋ฅผ Assigneess
๋ก ๋ฑ๋กํ๊ธฐ
โ ์ ๋์ ํ๋ ค๊ณ ํ๋๊ฐ
2021๋ ์ ๋ง์ดํ๋ฉด์ ์ด๋ฒ ์ฃผ์ ๋๋ ์ผ๋ง๋ ์ฅ์์ ํ์ ๋๊ฐ? ์คํฐ๋์ ์ฐธ์ฌํ๋ค. ์ด๊ณณ์์๋ ๋งค์ฃผ 3๊ฐ์ง ๋ชฉํ๋ฅผ ์๋ฃํ๊ณ ๋์ PR์ ๋ ๋ฆฐ๋ค. ๊ทธ๋ฌ๋ฉด ์ธ๋ช ์ ๋ฆฌ๋ทฐ์ด๊ฐ ์๋์ผ๋ก ์ง์ ์ด ๋๊ณ ํผ๋๋ฐฑ์ ๋ฐ๊ณ ๋จธ์ง๋๋ ํ์์ด๋ค.
๋ฆฌ๋ทฐ์ด ์ธ๋ช ์ด ์๋์ผ๋ก ์ง์ ๋๋๊ฒ ์ข์ ๋ณด์๋ค. ํ์ฌ ํ๊ณ ์๋ ์คํฐ๋์๋ ์ ์ฉํ๊ณ ์ถ์๋ค. ์ ์ฉํ๋ฉด ์ด์์ ํํฐ ๊ธฐ๋ฅ์ ํตํด ์ฐธ์ฌํ ์ด์๋ฅผ ๋ณผ ์ ์์ด์ ์ข์ ๊ฑฐ ๊ฐ์๋ค. ํ๊ณ ์ถ์ผ๋ฉด ๋ญ๋ค? ํด๋ณธ๋ค. ใ ใ
ํ๋ฉด์ ์๊ฒ๋ ์ฌ์ค์ธ๋ฐ Github
์ teams
๋ฅผ ์ด์ฉํ๋ฉด ์ฝ๋ ๋ฆฌ๋ทฐ์ด๋ฅผ ๋๋ค์ผ๋ก ์ง์ ํ ์ ์๋ค. [์ฐธ๊ณ ]
๐คฏ ์ฝ์ง๊ณผ ์ฝ์ง
๊ทธ๋์ ์ฒ์์๋ ๊ฒ์ฆ๋ ์ ํด๋ณด๊ณ ๋ฌด์์ ์คํฐ๋ ์ ์ฅ์์ ์ ์ฉํด๋ดค๋๋ฐ ๋์์ ์ ํ๋ค.
์ด๋ ์คํฐ๋ ์ฌ๋์์ ๊ฐ์ฅ ์์ฃผ ์ฌ์ฉํ๋ ์ฑ๋์ ์ ์ฅ์๋ฅผ ๊ตฌ๋
ํ๊ณ ์์๋๋ฐ ๋ด๊ฐ ์์
ํ ๊ฒ๋ค์ด ๋ฉ์์ง๋ก ์์ ์ฑํ
์ด ๋๋ฐฐ๋๋ ๋ชจ์ต์ ๋ณด๊ณ ์์ฐจ ์ถ์๋ค. ๊ทธ๋์ ์๊ฒฉ ์ ์ฅ์ ์๋ฆผ์ฉ ์ฑ๋์ ๋ฐ๋ก ๋ง๋ค์๋ค. ์ง๊ธ๋ ์ด์ํ๊ณ ์๋ ํ๊ต ๊ณต์ง์ฌํญ ๋ด ์ฌ๊ฑด์ด ์๊ฐ๋ฌ๋ค. (์ ๊น ๊ณ ์ฅ ๋ฌ์์ ๋ ๊ณ ์น๋ค๊ณ ํ
์คํธ ๊ณ์ ์ด ์๋๋ผ ์ด์ํ๊ณ ์๋ ๋ด์ผ๋ก ๋ฉ์์ง๋ฅผ ๋ค๋ ๋ฐ์กํ์๋ค.) ์ฌ๋ ์๋ฆผ ํ
๋ฌ๋ฅผ ๋ฐ์ ์คํฐ๋์๋ค์๊ฒ ์ฌ์ฌ์ฐฎ์ ์ฌ๊ณผ๋ฅผ ์ ํฉ๋๋ค... ๋จ๋ํฉ๋๋ค ํํ
๊ทธ ํ๋ก ๊ฐ์ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ง๋ค์ด์ ์์
์ ํ๋ค. ์์์ผ ์คํ 8์๋ถํฐ ์์ ๊น์ง, ๊ทธ๋ค์ ๋ ์คํ 3์๋ถํฐ 8์๊น์ง... ์ค๊ฐ์ ์ ๋๋ ์ค ์๊ณ ๋๋ ๊ธฐ๋ฅ๋ง ๋จผ์ ์ ์ฉํ์๋๋ฐ! ๋ค ๋ง๋ค์ด์ ํ
์คํธ๊น์ง ํ๊ณ ์ ์ ์ฉํ๋ค.
์๋ฌดํผ ๊ด๋ จ๋ ํ๊ธ ์๋ฃ๊ฐ ๋ณ๋ก ์์ด์.. ๋๋ ๋น์ทํ ์ฉ๋๋ก ์๋ํํ๊ณ ์ถ์ ์ฌ๋์ ์ํด ๊ธ๋ก ๊ธฐ๋กํด๋ณธ๋ค.
์ ๋ง ๋คํํ๋ Github Actions
๋ ๊ณต์ ๋ฌธ์๊ฐ ์ ์ ๋ฆฌ๋์ด ์์๊ณ , ๋ค๋ฅธ ๊ฐ๋ฐ์๋ค์ด ์ ๋ง๋ค์ด๋์ ๊ฒ๋ค์ ๊ฐ์ ธ๋ค๊ฐ ํ์ฉํ๋ฉด ๋๋ค.
์ฒ์ ์จ๋ด์ ์ด๋ ค์ ๋ค.
์ด ๊ธ์์๋ Issues Helper๋ฅผ ์ฌ์ฉํ๋ค.
๐ฌ ์ด์์ ๋๊ธ์ ํน์ ํค์๋๊ฐ ๋ค์ด๊ฐ๋ฉด ํด๋น ๋๊ธ ์์ฑ์๋ฅผ Assigneess๋ก ๋ฑ๋กํ๊ธฐ
Issues Helper์์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ ์ค์ find-comments์ add-assignees๋ฅผ ์ด์ฉํด์ ๋ง๋ค์๋ค.
name:
์๋ ์ํฌํ๋ก์ฐ์ ์ด๋ฆ์ ์์ฑํ๋ค. ๋์ค์ Actions
ํญ์์ ์ฌ๋ฌ ๊ฐ์ ์ํฌํ๋ก์ฐ๋ฅผ ์๋ณํ ๋ ์ฐ์ธ๋ค.
on:
์๋ ์ํฌํ๋ก์ฐ์ ํธ๋ฆฌ๊ฑฐ๊ฐ ๋๋ ์ด๋ฒคํธ๊ฐ ๋ค์ด๊ฐ๋ค. ๋๋ ์ด์์ ์ฝ๋ฉํธ๊ฐ ์์ฑ๋์์ ๋ ์ํฌํ๋ก์ฐ๊ฐ ์คํ๋๊ฒ ์์ฑํ๋ค.
์ด๋ฐ์๋ push
๋์์ ๋, pull request
๊ฐ ์์ ๋, fork
ํ์ ๋ ๋ฑ๋ฑ ๋ค์ํ ์ด๋ฒคํธ๋ค์ด ์๋ค. ๋ ๋ง์ ์ด๋ฒคํธ๋ Events that trigger workflows ๋ฌธ์์์ ํ์ธํ ์ ์๋ค.
jobs:
๋ฐ์ผ๋ก ์ด์ ํด์ผ ํ ์ผ๋ค์ ์์ฑํ๋ฉด ๋๋ค.
find-comments + create-comment + update-comment ํ์ฉ
body-includes:
์๋ ๋๊ธ ๋ด์ฉ์ ์ฐพ๊ณ ์ ํ๋ ํค์๋๋ฅผ ์ ๋๋ค. ๋๋ ๋๊ธ์ ๋งํฌ๊ฐ ์๋์ง ํ๋ณํ๊ณ ์ถ์ด์ http
๋ฅผ ํค์๋๋ก ์์ฑํ๋ค.
outputs:
์ ๋ค์ด๊ฐ๋ ๊ฑด ๋ค๋ฅธ job
์ ๊ฐ์ ๋๊ฒจ์ค ๋ ์ฌ์ฉํ๋ค. ${{ needs.job1.outputs.xxx }}
ํํ๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค. ์ฌ๊ธฐ์๋ ์ง์ ํค์๋๊ฐ ๋ค์ด๊ฐ ๋๊ธ ์ ๋ณด๋ฅผ ๋๊ธด๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก job
์ ๋ณ๋ ฌ์ ์ผ๋ก ์คํ๋๋๋ฐ, needs:
์ ํด๋น job
์ด ์คํ๋๊ธฐ ์ ์ ์ฒ๋ฆฌํด์ผ ํ๋ job
์ ๋ช
์ํ ์ ์๋ค.
job2
์์๋ job1
์์ ๊ฐ์ ธ์จ ๋๊ธ ๋ชฉ๋ก ์ค์ ๊ฐ์ฅ ๋ง์ง๋ง ๋๊ธ ์ ๋ณด์ ์์ฑ์๋ฅผ ํํฐ๋งํ๋ค. ํํฐ๋ง์ ํ ๋ jq
๋ฅผ ์ฌ์ฉํ๋๋ฐ, -r
์ต์
์ ๋ถ์ฌ์ฃผ๋ฉด ๋ฌธ์์ด ํํ๋ก ๋ณํํ๋ค.
print
์์
์ ํ์ธ ์ฐจ ๋ง๋ค์ด ๋์ ๋ถ๋ถ์ด๊ณ ์์ด๋ ๋ฌด๋ฐฉํ๋ค. job3
์์๋ job2
์์ ํํฐ๋งํ ๋๊ธ ์์ฑ์๋ฅผ ํด๋น ์ด์์ assignees
๋ก ๋ฑ๋กํ๋ค.
์คํฐ๋ ์ ์ฅ์์ ์ ์ฉ๋ ์ฌ์ง
๐ถ ์ฌ๋ด
๋จ์ด ๋ง๋ ๊ฑธ ์กฐํฉํด์ ๋ง๋ค์์ง๋ง, ๊ทธ๋๋ ์ฌ๋ฏธ์์๋ค. ๋ง๋ค๊ณ ๋๋ ๋ฟ๋ฏํ๋ค. ์ด๋์ ๋ค๋ค ์๋ํํ๋ ๊ฑธ๊น?
Issue-Helper
๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ์ฑ์ ์ด์ฉํ๋ฉด ํน์ Label
์ ํน์ ์ฌ๋ assignees
๋ก ์ถ๊ฐํ๊ธฐ, ํ ๋ฆฌํ์คํธ์ ๋ฆฌ๋ทฐ์ด ์ง์ ํ๊ธฐ ๋ฑ์ ์ ์ฉํ ์ ์๋ค. ์๊ฐ๋ณด๋ค ์ด๋ ต์ง ์์ผ๋ ์ง๊ธ๊น์ง ์ง์ ์ ์ฉํ๊ณ ์์ผ์ ๋ถ๋ค์ ์ง์ ๋ง๋ค์ด๋ด๋ ์ข์ ๊ฑฐ ๊ฐ๋ค.
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote