Fernando ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ

Github Actions๋ฅผ ์ด์šฉํ•œ ๊ฐœ๋ฐœ๋ธ”๋กœ๊ทธ ๊ธ€์„ ์Šฌ๋ž™์œผ๋กœ ์•Œ๋ฆผ๋ฐ›๊ธฐ

intro

๐Ÿ“•๊ฐœ๋ฐœ ๋ธ”๋กœ๊ทธ ๊ธ€๋“ค์„ ๋งค์ผ ๊ตฌ๋…ํ•  ์ˆ˜๋Š” ์—†์„๊นŒ?

์š”์ฆ˜์— ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ๋ธ”๋กœ๊ทธ์—์„œ ์œ ์šฉํ•œ ํฌ์ŠคํŒ…์„ ์ž์ฃผ ์ ‘ํ• ์ˆ˜ ์žˆ๋Š” ์‹œ๋Œ€๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๊ฐœ๋ฐœ๋ธ”๋กœ๊ทธ ๊ธ€๋“ค์„ ๋ณด๋ฉด ๋Š˜ ๋‚ด๊ฐ€ ๋ชฐ๋ž๋˜ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋‚˜ ๊ฒฝํ—˜๊ณต์œ ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด ์ข‹๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋งค์ผ ์˜ค์ „ 8์‹œ ์ถœ๊ทผ์‹œ์— ๋งค์ผ๋งค์ผ ์ƒˆ๋กœ์šด ๊ธ€๋“ค์„ ์ „๋‹ฌ ๋ฐ›์„ ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค.
  • ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ ๋ธ”๋กœ๊ทธ๋“ค์˜ ์ปจํ…์ธ ๋ฅผ ๋ณด๊ณ ์‹ถ๋‹ค.

์œ„ ๋‘๊ฐ€์ง€์˜ ์ฃผ์ œ์— ๊ฝƒํžŒ ๋‚˜๋จธ์ง€, ๊ตฌํ˜„์„ ํ•  ์ˆ˜ ์žˆ์„๋งŒํ•œ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋˜์ค‘ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜คํ”ˆ์†Œ์Šค๋ฅผ ๋ฐœ๊ฒฌ ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์œ„ Github Repo์—์„œ ๊ตญ๋‚ด ๊ฐœ๋ฐœ์ž๋“ค์˜ ๋ธ”๋กœ๊ทธ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ •๋ฆฌํ•ด์ฃผ๊ณ  ๊ณ„์…จ๊ณ ,
์‚ฌ์ดํŠธ์—์„œ๋Š” ๋“ฑ๋ก๋˜์–ด์žˆ๋Š” ๋ธ”๋กœ๊ทธ๋“ค์˜ ์ƒˆ๋กœ์šด ๊ธ€ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ์‚ฌ์ดํŠธ๋ฅผ ํ†ตํ•ด ์ œ๊ณตํ•ด์ฃผ๊ณ  ๊ณ„์…จ์Šต๋‹ˆ๋‹ค
README.md ์— ์“ฐ์—ฌ์žˆ๋Š”๊ฒƒ ์ฒ˜๋Ÿผ ์‚ฌ์šฉ์„ ํ•ด๋„ ์ข‹๋‹ค๊ณ  ์“ฐ์—ฌ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์› ์ถœ์ฒ˜๋ฅผ ๋‚จ๊ธฐ๋Š” ์กฐ๊ฑด์œผ๋กœ ์ž‘์—…์„ ์‹œ์ž‘ ํ•ด๋ณด๊ธฐ๋กœ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๐Ÿ›ฐ์„œ๋ฒ„์—†์ด ์ฃผ๊ธฐ์ ์ธ ์‹คํ–‰์ด ํ•„์š”ํ•˜๋‹ค๋ฉด? Github Actions ์ด์šฉ๊ธฐ

-   ๋งค์ผ ์˜ค์ „ 8์‹œ ์ปจํ…์ธ ๋“ค์„ ๋ฐ›์•„๋ณด๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋งค์ผ ์˜ค์ „ 8์‹œ ์›ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.
-   ์„œ๋ฒ„๋ฅผ ๋ณ„๋„๋กœ ๋‘๊ธฐ๋Š” ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— ์•Œ์•„์„œ ์‹คํ–‰์ด ๋˜์—ˆ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ตฌํ˜„ํ•˜๊ธฐ

์œ„ ๋‘๊ฐ€์ง€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์ฃผ๋Š” ๊ฒƒ์„ ๊ณฐ๊ณฐํžˆ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ, ์ด๋ฒˆ์— ์ถ”๊ฐ€๋œ Github Actions ๊ธฐ๋Šฅ์„ ์ ์ ˆํžˆ ํ™œ์šฉํ•˜๋ฉด ๋ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
Github Actions ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜๋ฉด linux ์—์„œ ์“ฐ์ด๋Š” crontab ๋ฌธ๋ฒ•์„ ๋™์ผํ•˜๊ฒŒ github ๋‚ด์—์„œ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ฃผ๊ธฐ์ ์ธ ์ž‘์—…์ด ํ•„์š”ํ•˜๋ฉด์„œ ์„œ๋ฒ„๋ฅผ ๋”ฐ๋กœ ๋‘์ง€ ์•Š์œผ๋ ค๋ฉด Github Actions ๋ผ๋Š” ๋Œ€์•ˆ์ด ์ƒ๊ธฐ๊ฒŒ ๋œ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•ด๋ณด๋‹ˆ ๊ฐ„๋‹จํ•œ ์›นํ›… ๋ด‡์„ ๋งŒ๋“ค๋•Œ๋Š” ๋„ˆ๋ฌด๋‚˜ ์ข‹์€๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์„œ๋ฒ„๋ฌธ์ œ๋Š” ํ•ด๊ฒฐ๋˜์—ˆ์œผ๋‹ˆ ์ด์ œ ์–ด๋””๋กœ? ์ „์†ก์„ ํ•ด์„œ ์•Œ๋ฆผ์„ ๋ฐ›์„ ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•œ ๋ฌธ์ œ๊ฐ€ ๋‚จ์•„์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“จ ์Šฌ๋ž™ Incomming Webhook ์„ ์ด์šฉํ•œ ๋ฉ”์„ธ์ง€ ๋ฐ›๊ธฐ

๋‹ค์–‘ํ•œ ๋ฉ”์‹ ์ € API๊ฐ€ ์žˆ์ง€๋งŒ ์ €์˜ ๊ฒฝ์šฐ์—๋Š” ์Šฌ๋ž™์— ์žˆ๋Š” Incomming Webhook ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜๊ธฐ๋กœ ๋งˆ์Œ ๋จน์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” ๊ฐ™์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋งŽ์ด ์žˆ๋Š” ์Šฌ๋ž™์ฑ„๋„์— ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŒ…๊ธ€ ์„ ๊ณต์œ ํ•˜๋ฉด ์ข‹๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ๋„ ์žˆ์—ˆ๊ณ  ์ƒ๊ฐ๋ณด๋‹ค ์‚ฌ์šฉ์ด ์‰ฝ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.ย 

๐Ÿค– ์Šฌ๋ž™๋ด‡ ๊ฐœ๋ฐœ ๊ฒฐ๊ณผ ๊ณต์œ 

  • techinpark/today-devblog-bot
  • ์œ„์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚ฌ๋งŒํ•œ ๋ด‡์„ ๋งŒ๋“ค์—ˆ๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋งŒ๋“ค์–ด ์กŒ์Šต๋‹ˆ๋‹ค. 1

๋งˆ์น˜๋ฉฐ

์œ„ ํ† ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ๋งค์ผ ์˜ค์ „ 8์‹œ์— ๋‹ค์–‘ํ•œ ์ฃผ์ œ์˜ ๊ฐœ๋ฐœ ๋ธ”๋กœ๊ทธ ๊ธ€๋“ค์„ ์Šฌ๋ž™ ์ฑ„๋„์•ˆ์—์„œ ๋ฐ›์•„๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๊ณ ,ย ์ƒˆ๋กœ์šด ์ฃผ์ œ๋ฅผ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ์ ‘ํ• ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹คย  ๐Ÿ˜„

๋ชจ๋“  ์ฝ”๋“œ๋Š” ๊นƒํ—™์„ ํ†ตํ•ด ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ณต๊ฐœ๋˜์–ด์žˆ์œผ๋ฉฐ, Fork ํ•˜์—ฌ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ์—ฌ๋Ÿฌ๋ถ„๋“ค ๋ชจ๋‘ ๋™์ผํ•œ ํ™˜๊ฒฝ์œผ๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.ย  ์•ˆ์“ธ ์ด์œ ๊ฐ€ ์—†๋Š” Github Actions ์ง€๊ธˆํ•œ๋ฒˆ ์ฒดํ—˜ํ•ด๋ณด์‹œ๋Š”๊ฑด ์–ด๋–จ๊นŒ์š”?


Written by@fernando
iOS ๊ฐœ๋ฐœ์ž์ด๋ฉฐ ๋‹ค์–‘ํ•œ ์—…๋ฌด ์ž๋™ํ™”์— ๊ด€์‹ฌ์ด ๋งŽ์Šต๋‹ˆ๋‹ค.

GitHubTwitterLinkedIn