DevOps/Git

CI/CD : GitHub Actions, EC2, RDS๋ฅผ ํ™œ์šฉํ•œ ์ž๋™ ๋ฐฐํฌ ํŒŒ์ดํ”„ ๋ผ์ธ ๊ตฌ์ถ•ํ•˜๊ธฐ 3ํŽธ

ํ”„๋กœ๊ทธ๋ž˜๋จธ ์˜ค์›” 2023. 11. 29.

 

์ด์ „ ํฌ์ŠคํŒ… ๋ณด์ง€ ์•Š์œผ์‹  ๋ถ„๋“ค์€ ์•„๋ž˜ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ  ํ•˜๊ณ  ์ด๊ฒƒ์„ ๋ด์ฃผ์„ธ์š”.

 

GitHub Actions, EC2, RDS๋ฅผ ํ™œ์šฉํ•œ ์ž๋™ ๋ฐฐํฌ ํŒŒ์ดํ”„ ๋ผ์ธ ๊ตฌ์ถ•ํ•˜๊ธฐ 1ํŽธ   -   EC2 ์„œ๋ฒ„ ๊ตฌ์ถ•

https://programmer-may.tistory.com/172

 

CI/CD : GitHub Actions, EC2, RDS๋ฅผ ํ™œ์šฉํ•œ ์ž๋™ ๋ฐฐํฌ ํŒŒ์ดํ”„ ๋ผ์ธ ๊ตฌ์ถ•ํ•˜๊ธฐ 1ํŽธ

์ง€๋‚œ๋ฒˆ ํ˜ผ์ž์„œ ๋™๋™๋Œ€๊ณ  ์ง€์ธ์—์„œ ๋ฌผ์–ด๋ด์„œ develop ๋ธŒ๋žœ์น˜์˜ ์ž๋™๋ฐฐํฌ ํŒŒ์ดํ”„ ๋ผ์ธ์„ ๊ตฌ์ถ•ํ•ด ๋ณด์•˜๋‹ค. ์ด๋ฒˆ์—” ํ˜ผ์ž์„œ ์‹ค์ „ ๋А๋‚Œ์œผ๋กœ release ๋ธŒ๋žœ์น˜์˜ ์ž๋™ ๋ฐฐํฌ ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ๋‹ค. ๋จผ์ € ์‚ฌ์šฉํ•˜

programmer-may.tistory.com

 

 

GitHub Actions, EC2, RDS๋ฅผ ํ™œ์šฉํ•œ ์ž๋™ ๋ฐฐํฌ ํŒŒ์ดํ”„ ๋ผ์ธ ๊ตฌ์ถ•ํ•˜๊ธฐ 2ํŽธ  -  RDS ์—ฐ๋™

https://programmer-may.tistory.com/173

 

CI/CD : GitHub Actions, EC2, RDS๋ฅผ ํ™œ์šฉํ•œ ์ž๋™ ๋ฐฐํฌ ํŒŒ์ดํ”„ ๋ผ์ธ ๊ตฌ์ถ•ํ•˜๊ธฐ 1ํŽธ

์ง€๋‚œ๋ฒˆ ํ˜ผ์ž์„œ ๋™๋™๋Œ€๊ณ  ์ง€์ธ์—์„œ ๋ฌผ์–ด๋ด์„œ develop ๋ธŒ๋žœ์น˜์˜ ์ž๋™๋ฐฐํฌ ํŒŒ์ดํ”„ ๋ผ์ธ์„ ๊ตฌ์ถ•ํ•ด ๋ณด์•˜๋‹ค. ์ด๋ฒˆ์—” ํ˜ผ์ž์„œ ์‹ค์ „ ๋А๋‚Œ์œผ๋กœ release ๋ธŒ๋žœ์น˜์˜ ์ž๋™ ๋ฐฐํฌ ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ๋‹ค. ๋จผ์ € ์‚ฌ์šฉํ•˜

programmer-may.tistory.com

 

 


 

 

์ด์   ๋Œ€๋ง์˜ GitHub Actions ์™€ EC2์™€ RDS๋ฅผ ์—ฐ๋™ํ•  ์‹œ๊ฐ„์ด๋‹ค.

 

 

 

 

 

RELEASE_APPLICATION_YML์€

 

์ €๋ฒˆ ํฌ์ŠคํŒ…์— ์ž‘์„ฑํ•œ

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://{RDS ์—”ํŠธํฌ์ธํŠธ}:3306/{๋งŒ๋“ค์–ด๋‘” ์Šคํ‚ค๋งˆ(database๋ช…)}
    username: {์‚ฌ์šฉ์ž๋ช…}
    password: {๋น„๋ฐ€๋ฒˆํ˜ธ}
  h2:
    console:
      enabled: true
  jpa:
    show-sql: true
    hibernate:
      ddl-auto: update

server:
  port: 80

 

์ด๊ฒƒ์„ ๋„ฃ์–ด์ฃผ๋ฉด ๋˜๊ณ ,

 

RELEASE_SERVER_IP

๋Š” ๋‚ด๊ฐ€ ๋งŒ๋“  EC2์˜ ํผ๋ธ”๋ฆญ DNS ์ฃผ์†Œ๋ฅผ ๋„ฃ์œผ๋ฉด ๋˜๊ณ 

 

RELEASE_SERVER_NAME

๋งŒ๋“  ๊ณ„์ •์ด๋ฆ„ ubuntu๋กœ ๋งŒ๋“ค์–ด ์คฌ๊ธฐ ๋•Œ๋ฌธ์— ubuntu๋ฅผ ๊ธฐ์ž…ํ•˜๋ฉด ๋˜๊ณ ,

 

RELEASE_SSH_PRIVATE_KEY

๋งŒ๋“  PuTTY์—์„œ ๋ณ€๊ฒฝํ•œ OpenSSH KEY๋ฅผ ๋ณต๋ถ™ ํ•˜๋ฉด ๋œ๋‹ค.(๋ญ”์ง€ ๋ชจ๋ฅด๊ฒ ์œผ๋ฉด ์ž๋™๋ฐฐํฌ 1ํŽธ ์ฐธ๊ณ )

(-----BEGIN RSA PRIVATE KEY----- ๋ถ€ํ„ฐ -----END RSA PRIVATE KEY----- ๊นŒ์ง€ ๋ชจ๋“  ๋‚ด์šฉ์„ ๋‹ค ๋„ฃ๋Š”๋‹ค.)

 

์ด์ œ Secrets ์„ ๋‹ค ๋งŒ๋“ค์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์งœ์ฃผ์–ด ์ž๋™๋ฐฐํฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

 

cd.yml ํŒŒ์ผ์„ ๋งž๋Š” ๊ฒฝ๋กœ์— ๋„ฃ์–ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

 

๊ฒฝ๋กœ๊ฐ€ ๋งž์ง€ ์•Š๋Š”๋‹ค๋ฉด GitHub Actions ์—์„œ ์‹คํ–‰๋˜์ง€ ์•Š์œผ๋‹ˆ ์œ ์˜ํ•œ๋‹ค.

 

 

 

.github ํด๋”๋ฅผ ๋งŒ๋“ค๊ณ  ๊ทธ ์•ˆ์— workflows ํด๋”๋ฅผ ๋งŒ๋“ ๋‹ค. s ๋ฅผ ๊ผญ ๋ถ™์ด๋Š” ๊ฑธ ์œ ์˜ํ•œ๋‹ค.

 

๊ทธ ์•ˆ์— cd-release.yml ํŒŒ์ผ์„ ๋„ฃ์–ด์ค€๋‹ค.

 

 

 

PR์„ ๋ณด๋‚ด๊ณ  ๋‚˜๋ฉด ์ž์‹ ์˜ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ Actions ํ•ญ๋ชฉ์—์„œ ์ด๋ ‡๊ฒŒ ์ €์žฅํ•œ ํŒŒ์ผ์ด ์ž˜ ์‹คํ–‰๋˜๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

๋Œ“๊ธ€