[Serverless] ์๋ฒ๋ฆฌ์ค ํ๋ ์์ํฌ Github Actions๋ฅผ ์ด์ฉํ AWS ์๋ ๋ฐฐํฌ
์ง๋ ๋ฒ์ serverless deploy๋ก ์๋ฒ ๋ฐฐํฌ๋ฅผ ํด๋ณด์๋ค.
์ด๋ฒ์ github๋ก commit/push ํ๋ฉด ์๋์ผ๋ก ์๋ฒ์ ๋ฐฐํฌ๋ ์ ์๋๋ก ํด๋ณด์.
1. GitHub ํด๋น ๋ ํ์งํ ๋ฆฌ - Actions
ํ๋ ๊ธ์จ๋ก ๋
set yo a workflow yourself ๋ฅผ ํด๋ฆญํ๋ค.
main.yml ํ์ผ์ด ์์ฑ๋๊ณ ์๋ ์ฝ๋๋ฅผ ์ ๋ ฅํ ๋ค์
branches :์ ํด๋น ๋ ํ์งํ ๋ฆฌ branches๋ ๋๊ฐ์ด ์ ๋ ฅํด์ค๋ค.
๊ทธ๋ฆฌ๊ณ ์ ์ฅํ์ง ๋ง๊ณ ๋๊ธฐํ๋ค.
2. GitHub ํด๋น ๋ ํ์งํ ๋ฆฌ - Settings
๋ธ๋ผ์ฐ์ ์ ์ํญ์ ๋๋ฌ ํด๋น ๋ ํ์งํ ๋ฆฌ - Settings - Secrets and variables ๋ฅผ ํด๋ฆญํ๋ค.
๊ทธ๋ฆฌ๊ณ Actions๋ก ์ ์
main.yml ํ์ผ์์
jobs - deploy - env์์ ์ํฌ๋ฆฟ ํค๋ค์ ์ฐพ์์ ๋ฃ๋๋ค.
New repository secret ํด๋ฆญํด์ ํค ๊ฐ ์ ๋ ฅ
3. Actions main.yml ํ์ผ commit
๋ค์ Actions ์ผ๋์ ๋ธ๋ผ์ฐ์ ๋ก ๊ฐ์ Commit changes๋ฅผ ํด๋ฆญํ๋ค.
๋ค์ Actions ํ์ผ๋ก ๊ฐ์ All workflows ๋ฅผ ๋ณด๋ฉด main.yml ์์ฑ๋๊ณ ์๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
์๋ฃ๋๋ฉด ์ด๋ก์์ผ๋ก ๋ฐ๋๋ค.
4. github commit/push๋ก ํ ์คํธ
๋จผ์ api ํจ์ ๋๋ app.py ์ถ๋ ฅ๋๋ ๋ด์ฉ์ ๋ฐ๊ฟ์ ์ ์ฅํ๋ค.
๋ด์ฉ ๋ฐ๋ ๊ฒ์ ํ์ธํ๊ณ commit > push
Actions์ ๊ฐ๋ฉด ์ ๋ฐ์ดํธ ํ๊ณ ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ด๋ ๊ฒ ์ด๋ก์์ผ๋ก ๋ฐ๋๋ฉด ํฌ์คํธ๋งจ์์ ํ ์คํธ๋ฅผ ํด๋ณธ๋ค.
์ ๋ฐ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ฒ์์ ์ด๋ ค์ ์ง๋ง ์ต์ํ๊ฒ ํ๊ฒ ๋๊ณ
ํด ๋์ผ๋ฉด ๋๋ฌด ํธํ AWS ์๋ํ!