GitHub ์„œ๋ฒ„์˜ ์•”ํ˜ธํ™”ํ ์ฑ„๊ตด์„ ์œ„ํ•œ GitHub Action์— ๋Œ€ํ•œ ๊ณต๊ฒฉ

GitHub๋Š” ๊ณต๊ฒฉ์ž๊ฐ€ GitHub Actions ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ GitHub ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ์—์„œ ์•”ํ˜ธํ™”ํ๋ฅผ ์ฑ„๊ตดํ•œ ์ผ๋ จ์˜ ๊ณต๊ฒฉ์„ ์กฐ์‚ฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ฑ„๊ตด์— GitHub Actions๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ์ฒซ ๋ฒˆ์งธ ์‹œ๋„๋Š” ์ž‘๋…„ XNUMX์›”๋กœ ๊ฑฐ์Šฌ๋Ÿฌ ์˜ฌ๋ผ๊ฐ‘๋‹ˆ๋‹ค.

GitHub Actions๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ”๋“œ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ GitHub์˜ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด GitHub Actions๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ปค๋ฐ‹ํ•  ๋•Œ ํŠน์ • ๊ฒ€์‚ฌ ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜ ์ƒˆ ๋ฌธ์ œ ์ฒ˜๋ฆฌ๋ฅผ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์ด๋‹์„ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ๊ณต๊ฒฉ์ž๋Š” GitHub Actions๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ €์žฅ์†Œ์˜ ํฌํฌ๋ฅผ ๋งŒ๋“ค๊ณ  ๋ณต์‚ฌ๋ณธ์— ์ƒˆ GitHub Actions๋ฅผ ์ถ”๊ฐ€ํ•œ ๋‹ค์Œ ๊ธฐ์กด GitHub Actions ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์ƒˆ๋กœ์šด ".github/workflows"๋กœ ๊ต์ฒดํ•˜๋„๋ก ์ œ์•ˆํ•˜๋Š” ํ’€ ์š”์ฒญ์„ ์›๋ณธ ์ €์žฅ์†Œ์— ๋ณด๋ƒ…๋‹ˆ๋‹ค. /ci.ymlโ€ ํ•ธ๋“ค๋Ÿฌ.

์•…์˜์ ์ธ ํ’€ ์š”์ฒญ์€ ๊ณต๊ฒฉ์ž๊ฐ€ ์ง€์ •ํ•œ GitHub Actions ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋Š” ์—ฌ๋Ÿฌ ์‹œ๋„๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด ํ•ธ๋“ค๋Ÿฌ๋Š” 72์‹œ๊ฐ„ ํ›„์— ์‹œ๊ฐ„ ์ดˆ๊ณผ๋กœ ์ธํ•ด ์ค‘๋‹จ๋˜๊ณ  ์‹คํŒจํ•˜๊ณ  ๋‹ค์‹œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ณต๊ฒฉํ•˜๋ ค๋ฉด ๊ณต๊ฒฉ์ž๋Š” ํ’€ ์š”์ฒญ๋งŒ ์ƒ์„ฑํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ•ธ๋“ค๋Ÿฌ๋Š” ์˜์‹ฌ์Šค๋Ÿฌ์šด ํ™œ๋™์„ ๊ต์ฒดํ•˜๊ณ  ์ด๋ฏธ ์‹คํ–‰ ์ค‘์ธ GitHub Action์„ ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ์›๋ž˜ ์ €์žฅ์†Œ ์œ ์ง€ ๊ด€๋ฆฌ์ž์˜ ํ™•์ธ์ด๋‚˜ ์ฐธ์—ฌ ์—†์ด ์ž๋™์œผ๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

๊ณต๊ฒฉ์ž๊ฐ€ ์ถ”๊ฐ€ํ•œ ci.yml ํ•ธ๋“ค๋Ÿฌ์—์„œ "run" ๋งค๊ฐœ๋ณ€์ˆ˜์—๋Š” ๋‚œ๋…ํ™”๋œ ์ฝ”๋“œ(eval "$(echo 'YXB0IHVwZGF0ZSAt...' | base64 -d")๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์‹คํ–‰ ์‹œ ๋งˆ์ด๋‹ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์‹คํ–‰์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์ €์žฅ์†Œ์—์„œ ๊ณต๊ฒฉ์˜ ์ฒซ ๋ฒˆ์งธ ๋ณ€์ข…์—์„œ npm.exe๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด GitHub ๋ฐ GitLab์— ์—…๋กœ๋“œ๋˜์–ด Alpine Linux์šฉ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ELF ํŒŒ์ผ๋กœ ์ปดํŒŒ์ผ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(Docker ์ด๋ฏธ์ง€์— ์‚ฌ์šฉ๋จ). ๊ณต์‹ ํ”„๋กœ์ ํŠธ ์ €์žฅ์†Œ์˜ ์ผ๋ฐ˜ XMRig ๊ด‘๋ถ€. ์ด๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์œ„ํ•œ ์ฃผ์†Œ ๋Œ€์ฒด ์ง€๊ฐ‘ ๋ฐ ์„œ๋ฒ„์™€ ํ•จ๊ป˜ ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€