์ด์ ํฌ์คํ ๋ณด์ง ์์ผ์ ๋ถ๋ค์ ์๋ ํฌ์คํ ์ ์ฐธ๊ณ ํ๊ณ ์ด๊ฒ์ ๋ด์ฃผ์ธ์.
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 ํญ๋ชฉ์์ ์ด๋ ๊ฒ ์ ์ฅํ ํ์ผ์ด ์ ์คํ๋๋ ๊ฑธ ํ์ธํ ์ ์๋ค.
๋๊ธ