๊น๋ฉ repository์์ ํน์ ๋ธ๋์น์ push์ด๋ฒคํธ๋ฅผ ๊ฐ์งํ์ฌ ๋น๋์ ๋ฐฐํฌ๋ฅผ ์งํํ๋ CI/CD ์ ์ฉ! 1. Docker๋ก jenkins ์ค์นํ๊ณ ์คํ jenkins ์ด๋ฏธ์ง๋ฅผ pull ๋ฐ๋๋ค. sudo docker pull jenkins/jenkins:lts ๋ค์ด๋ฐ์ ์ด๋ฏธ์ง๋ฅผ ์คํ์์ผ์ค๋ค. sudo docker run -d -p 8080:8080 -v /app/swim:/var/jenkins_home --name swim_jenkins -u root jenkins/jenkins:lts -d: background๋ก ์คํ -p: ํธ์คํธ์ 8080ํฌํธ์ ๋์ปค ๋คํธ์ํฌ ์์ 8080 ํฌํธ๋ฅผ ์ฐ๊ฒฐ -v: ํธ์คํธ์ ํ์ผ ์์คํ
๊ณผ ๋์ปค ์ปจํ
์ด๋ ํ์ผ์์คํ
์ฐ๊ฒฐ (/app/swim ๋๋ ํ ๋ฆฌ์ /var/jenkin..
๋์ปค๋ ๋ค์ด๋ก๋๋ ๊ณต์ ํํ์ด์ง์ docs๋ฅผ ๋ฐ๋ผํ๋ฉด ์์ฃผ ์๋ฒฝํ๊ฒ ์ค์น๋๋ค! Docker MariaDB ์ด๋ฏธ์ง ๋ฐ๊ธฐ sudo docker pull mariadb ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํด์ mariaDB ์ด๋ฏธ์ง๋ฅผ ๋ค์ด ๋ฐ๋๋ค. MariaDB ์ปจํ
์ด๋ ์คํ sudo docker run \ --name mariadb \ -d \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD='์ค์ ํ _PW' \ mariadb or sudo docker run --name mariadb -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD='์ค์ ํ _PW' mariadb --name: ์ฌ์ฉํ ์ปจํ
์ด๋์ ์ด๋ฆ์ ์ ์ -d: ์ปจํ
์ด๋๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํํ๊ฒ ํจ -p host-port:container-..
API๋ฅผ ์์ฑํ ๋ ๋ฐ๋ก Exception Handler๋ฅผ ๋ง๋ค์ด์ฃผ์ง ์์ผ๋ฉด, Runtime Error์ ๋ชจ๋ 500 Error๋ก Response๊ฐ ๊ฐ๊ฒ ๋๋ค. FE๋ ์ด ์๋ฌ ์ฝ๋์์ ์๋ฌ์ ์์ธ์ ์ ์ ์๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Custome Exception์ ์ถ๊ฐํ์ฌ FE์๊ฒ ๋ด์ฉ์ ์ ๋ฌํ๋๋ก ํด๋ณด์! ErrorCode ๋ง๋ค๊ธฐ ๐ก ๋ค์ํ ์ํฉ์์ ์ฐ์ผ Error Code๋ฅผ ๋ง๋ ๋ค. import lombok.AllArgsConstructor; import lombok.Getter; import org.springframework.http.HttpStatus; @AllArgsConstructor @Getter public enum ErrorCode { /* 400 BAD_REQUEST : ์๋ชป๋ ์..
๊ธฐ๋ฅ ์ ์ ๊ทธ๋ฃน์ด ์ฌ๋๊ณผ ์ฐ๋ํ ๊ฒฝ์ฐ, ๊ทธ๋ฃน ์๋ค์ ์ํ๊ฐ Slack Bot์ ํตํด ํ์๋๋ค! 1. Slack App ๋ง๋ค๊ธฐ https://api.slack.com/ ์์ Slack Bot ๋ง๋ค๊ธฐ App Name๊ณผ workspace ์ ํ AppName์ ๊ฒฝ์ฐ ์ถํ ๋ณ๊ฒฝ ๊ฐ๋ฅ workspace๊ฐ ์์ผ๋ฉด app ์์ฑ ๋ถ๊ฐ! → ์ฌ๋ฌ workspace์์ ์ฌ์ฉํ๋ bot๊ฐ๋ฐ ์, ์์ฑ ํ distribution ์ค์ ํด์ผ ํจ Scope ์ ์ฉ ํด๋น ์ฑ์ ๊ฒฝ์ฐ, ๋จ์ํ ์ฑ๋์ ๋ฉ์ธ์ง๋ง ๋ณด๋ด๋ ๊ธฐ๋ฅ์ด๋ฏ๋ก Bot Token Scopes ์ chat:write ๋ง ์ค์ https://api.slack.com/scopes ← scope์ ๋ํ ์ค๋ช
Workspace์ ์ค์น Scope์ค์ ์๋ฃ๋๋ฉด Install to Wo..