[Github] Github Action: Custom Container

[์›๋ณธ ๋งํฌ]

Github action์€ ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š”, ์ œ๊ณต๋˜๋Š” OS์˜ ์ด๋ฏธ์ง€๋งŒ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ณต์‹ ์ง€์›์€ ์šฐ๋ถ„ํˆฌ, MacOS, Windows๋งŒ์„ ์ œ๊ณตํ•˜๋Š”๋ฐ, ๊ฐ€๋ฒผ์šด ์‚ฌ์šฉ์‚ฌ๋ก€๋Š” ๊ทธ๋ƒฅ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๋งŒ์œผ๋กœ๋„ ์ถฉ๋ถ„ํ•˜์ง€๋งŒ, ๋ถ€์กฑํ•  ๋•Œ๋„ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๋‚ด ๊ฒฝ์šฐ์—๋Š” apt-get์œผ๋กœ ์ถ”๊ฐ€ํŒจํ‚ค์ง€๋ฅผ ๋ช‡๊ฐœ ๊น”์•„์•ผ ํ•˜๊ณ , cargo๋กœ ๊ฝค ๋ฌด๊ฑฐ์šด ์„ค์น˜์ž‘์—…๋„ ์ง„ํ–‰์„ ํ•ด์•ผ ํ–ˆ๋‹ค. ๋‹คํ•ฉํ•˜๋ฉด ๊ฑฐ์˜ 10๋ถ„์ด ๋„˜๊ฒŒ ๊ฑธ๋ ธ๋‹ค.

10๋ถ„์€ ์•„๋ฌด๋ž˜๋„ ๋งค๋ฒˆ ์„ค์น˜๋ฅผ ์‹œํ‚ค๊ธฐ์—๋Š” ๋„ˆ๋ฌด ๋А๋ฆฐ ์†๋„๋‹ค.
๊ทธ๋ž˜์„œ ์บ์‹ฑ์„ ํ• ๊นŒ.. ์‹ถ์—ˆ๋Š”๋ฐ ๊ทธ๊ฑธ ํ•˜๊ธฐ์—๋Š” ์ ํ•ฉํ•˜์ง€๋Š” ์•Š์•˜๋‹ค.
์ด๋Ÿฐ ์ƒํ™ฉ์— ์œ ์šฉํ•œ ๊ธฐ๋Šฅ์ด ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋กœ ๋นŒ๋“œ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์‚ฌ์šฉ๋ฒ•์€ ์–ด๋ ต์ง€ ์•Š๋‹ค.
๊ทธ๋ƒฅ ํ•„์š”ํ•œ ๋นŒ๋“œํ™˜๊ฒฝ์„ ์ง์ ‘ ๋„์ปค๋กœ ๋ง์•„์ฃผ๊ณ  ๋„์ปคํ—ˆ๋ธŒ ๋“ฑ์— ์˜ฌ๋ฆฐ๋‹ค.

๋‚˜๋Š” myyrakle/lambda-rust๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์˜ฌ๋ ธ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฑธ ๊ทธ๋Œ€๋กœ ์ปจํ…Œ์ด๋„ˆ ์˜ต์…˜์— ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.

๊ทธ๋Ÿผ ๋ฐฉ๊ธˆ ๋งŒ๋“  ์ด๋ฏธ์ง€ ์œ„์—์„œ ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ง„ํ–‰์ด ๋  ๊ฒƒ์ด๋‹ค.
๋ฌด๋ ค 10๋ถ„์˜ ์‹œ๊ฐ„์„ ์•„๊ผˆ๋‹ค.


์ฐธ์กฐ
https://stackoverflow.com/questions/59269850/caching-apt-packages-in-github-actions-workflow
https://github.com/orgs/community/discussions/25534
https://docs.github.com/en/actions/creating-actions/creating-a-docker-container-action