๊ด€๋ฆฌ ๋ฉ”๋‰ด

ruriruriya

[Serverless] ์„œ๋ฒ„๋ฆฌ์Šค ํ”„๋ ˆ์ž„์›Œํฌ Github Actions๋ฅผ ์ด์šฉํ•œ AWS ์ž๋™ ๋ฐฐํฌ ๋ณธ๋ฌธ

๐Ÿ“ŒServerless

[Serverless] ์„œ๋ฒ„๋ฆฌ์Šค ํ”„๋ ˆ์ž„์›Œํฌ Github Actions๋ฅผ ์ด์šฉํ•œ AWS ์ž๋™ ๋ฐฐํฌ

๋ฃจ๋ฆฌ์•ผใ…‘ 2023. 12. 21. 00:05
๋ฐ˜์‘ํ˜•

์ง€๋‚œ ๋ฒˆ์—”  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 ์ž๋™ํ™”!

๋ฐ˜์‘ํ˜•