๐ฑ Develop(15)
-
Springboot Gradle + AWS EC2 + Jenkins + Docker๋ก ๋ฐฐํฌ๊น์ง(3) : Jenkins gradle ์์ดํ ์์ฑ ๋ฐ ์ค์ ํ๊ธฐ
1๏ธโฃ ์์ดํ ์์ฑ, ์ค์ ํ๊ธฐ ์ด์ ํฌ์คํ ์์ ์์ดํ ์ ๋ง๋ค๊ธฐ ์ํ ์ฌ์ ์ค๋น๊ฐ ์๋ฃ๋์์ต๋๋ค. ์ด์ ์๋ก์ด item์ ๋๋ฌ์ ์์ดํ ์ ๋ง๋ค์ด๋ด ์๋ค. freestyle project๋ก ์ํ๋ ์ด๋ฆ์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ ๋ค, ์์ค ๊ด๋ฆฌ์์ ์๊น Credential์ ์ถ๊ฐํ ๊นํ ํค๋ฅผ ์ ์ฉํด์ค๋๋ค. 1๋ฒ์งธ ๋ฐฉ์์ธ ๊นํ๋ธ ์์ด๋/๋น๋ฒ ์ ๋ ฅ ๋์ ssh ํค๋ก ์ธ์ฆํ๋ ๊ฒ์ ๋๋ค. ์ ๋ master ๋ธ๋์น์ push ํ๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ ๋น๋ํ๋๋ก ์ค์ ํด๋์์ต๋๋ค. Build Invoke Gradle script๋ฅผ ์ ํํ๊ณ gradle ๋ฒ์ ์ ์ด์ ํฌ์คํ ์์ ๋ฏธ๋ฆฌ ์ ์ฅํ gradle๋ก ์ค์ ํด์ค๋๋ค. 2๏ธโฃ ๋น๋ ํ ์คํธํด๋ณด๊ธฐ ์ด์ ๋์๋ณด๋๋ก ๋ค์ด๊ฐ์ Build Now ๋ฅผ ํ๊ณ ์ฝ์ ์ถ๋ ฅ์์ success๋ฅผ ํ์ธํด๋ด ..
2021.04.30 -
Springboot Gradle + AWS EC2 + Jenkins + Docker๋ก ๋ฐฐํฌ๊น์ง(4) : Jenkins์์ ๋์ปค ์ด๋ฏธ์ง ๋ฐฐํฌํ๊ธฐ
1. Dockerfile, docker ๋ฐฐํฌ ํ์ผ ์ค๋นํ๊ธฐ 2. Jenkins์์ ssh ์ค์ ํ๊ธฐ 3. Jenkins ๊ถํ ์ค์ ํ๊ธฐ ์๋๋ github ์ฌ๋ฆผ โ Jenkins์์ github์ ์ฌ๋ผ์์๋ springboot ํ๋ก์ ํธ๋ฅผ ๊ฐ์ ธ์์ ๋น๋ โ ๋ฉ์ธ ์๋ฒ์ .jar ํํ๋ก ํ์ผ์ ์ ์ก โ ์คํ ์ ํ๊ณ ์ถ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ์จ์ผํ์ง๋ง, ์ ๋ springboot ์๋ฒ๋ฅผ docker ์ปจํ ์ด๋์์ ์คํํ ๊ฒ์ด๋ฏ๋ก ๋ค์๊ณผ ๊ฐ์ ํ๋ก์ฐ๋ก ๊ฐ๋ ค๊ณ ํฉ๋๋ค. github ์ฌ๋ฆผ โ Jenkins์์ github์ ์ฌ๋ผ์์๋ springboot ํ๋ก์ ํธ๋ฅผ ๊ฐ์ ธ์์ ๋น๋ โ jenkins ์ปจํ ์ด๋์์ ์ด๋ฏธ์ง๋ก ๋น๋ํด์ ๋์ปค hub์ push โ ๋ฉ์ธ ์๋ฒ์์๋ docker image๋ฅผ ๋ฐ์์ ์ปจํ ์ด๋ ์คํ ์ฐธ๊ณ ..
2021.04.30 -
Springboot Gradle + AWS EC2 + Jenkins + Docker๋ก ๋ฐฐํฌ๊น์ง(2) : Jenkins์ Github ์ฐ๋ํ๊ธฐ
์ด์ ec2์ jenkins๋ฅผ ์ธ ์ ์๋ ์ค๋น๋ฅผ ์๋ฃํ์ผ๋, ์ด์ ๋ github๊ณผ Jenkins๋ฅผ ์ฐ๊ฒฐํด๋ณด๊ฒ ์ต๋๋ค. ์ฐ๋ํ๋ ๋ฐฉ๋ฒ์๋ ๋ ๊ฐ์ง๊ฐ ์์ต๋๋ค. github ์์ด๋/๋น๋ฐ๋ฒํธ๋ก ์ ์ ec2 ssh ๊ณต๊ฐํค/๋น๋ฐํค๋ก ์ ์ ์ฌ๊ธฐ์๋ ๋ณด์ ์์ ์ด์ ๋ก ๋ ๋ฒ์งธ ๋ฐฉ๋ฒ์ธ ssh๋ก ์ฐ๊ฒฐํ๊ฒ ์ต๋๋ค. ์ฐ๋ํ๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. 1. EC2์์ ssh ํค ์์ฑ 2. Github์์ ssh ํค, webhook ๋ฑ๋ก 3. Jenkins์ Credential ssh ํค ๋ฑ๋ก 4. Gradle ๋ฒ์ ์ค์ ํ๊ธฐ 1๏ธโฃ EC2 ssh ํค ์์ฑํ๊ธฐ docker-compose ๋ฅผ ์คํํ๊ณ ๋์ ls -a ๋ก ํด๋๋ฅผ ๋ณด๋ฉด .ssh๊ฐ ์์ฑ๋์ด ์์ต๋๋ค. .ssh ํด๋๋ก ๋ค์ด๊ฐ์ ssh ํค๋ฅผ ์์ฑํด์ฃผ๋ ๋ช ๋ น์ด๋ฅผ ์คํํด์ฃผ์ธ์...
2021.04.30 -
๐ณ EC2์ docker , docker-compose ์ค์นํ๊ธฐ
1๏ธโฃ docker, docker-compose ์ค์น โ ๋์ปค ์ค์นํ๊ธฐ sudo yum install docker // linux sudo apt-get install docker // ubuntu โ docker-compose ์ค์นํ๊ธฐ $ sudo curl -L https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose $ sudo chmod +x /usr/local/bin/docker-compose $ docker-compose --version ๐ docker-compose ์ต์ ๋ฒ์ ์ ์ฌ๊ธฐ์ ํ์ธํด์ ๋งํฌ๋ฅผ ๋ฐ๊พธ๋ฉด ๋๋ค. 2..
2021.04.30 -
Springboot Gradle + AWS EC2 + Jenkins + Docker๋ก ๋ฐฐํฌ๊น์ง(1) : EC2์ Docker ์ด๋ฏธ์ง๋ก Jenkins ์ค์นํ๊ธฐ
์์ง ec2์ docker, docker-compose ๊ฐ ์ค์น๋์ด์์ง ์๋ค๋ฉด ๋ค์ ํฌ์คํ ์ ๋จผ์ ์ฐธ๊ณ ํด์ฃผ์ธ์! 2021.04.30 - [๐ฑ Develop/devOps] - ๐ณ EC2์ docker , docker-compose ์ค์นํ๊ธฐ ๐ณ 1) EC2์ docker ์ด๋ฏธ์ง๋ก Jenkins ์ค์นํ๊ธฐ ํ๊ฒฝ: ec2 ํ๋ฆฌํฐ์ด / linux ec2 ์์ฒด์ jenkins๋ฅผ ๋ฐ๋ก ์ค์นํ ์๋ ์์ง๋ง, docker image๋ก jenkins๋ฅผ ๋ฐ์์์ ์ฌ์ฉํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ์ผ๋จ mkdir jenkins-dockerfile ๋ก ํด๋๋ฅผ ๋ง๋ค์ด์, ์ด ํด๋ ๋ฐ์ Dockerfile์ ํ๋ ์์ฑํด์ฃผ์ธ์. jenkins ์ต์ ์ด๋ฏธ์ง๋ฅผ ๋ฐ์์ค๋ Dockerfile์ ๋๋ค. ๐ home/ec2-user/compose/jenkin..
2021.04.30 -
[Nodejs/Mysql] ๊ฒ์๊ธ ํ์ด์งํ๊ธฐ(1) : LIMIT์ ์ฌ์ฉํ Offset-based Pagination ๊ตฌํํ๊ธฐ
โ Pagination (ํ์ด์ง๋ค์ด์ ) ๋ฐฑ์๋์์ ํด๋ผ์ด์ธํธ์๊ฒ ๊ฐ์ ์ ๋ฌํ ๋, ์ผ์ ๊ธฐ์ค์ผ๋ก ๋ถํ ํ์ฌ ์ ๋ฌํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์น์์ ๊ฒ์๊ธ์ 1ํ์ด์ง, 2ํ์ด์ง๋ก ๋๊ธฐ๋ ๊ฒ๊ณผ '๋๋ณด๊ธฐ' ๋ฒํผ์ผ๋ก ๋ฌดํ ์คํฌ๋กค์ ํ ์ ์๋ ๊ฒ ๋ชจ๋ ํ์ด์ง๋ค์ด์ ์ ํตํด ๊ตฌํ๋ ๊ฒ์ ๋๋ค. ํ์ด์ง๋ค์ด์ ์ ๋ฐฉ์์๋ ํฌ๊ฒ 2๊ฐ์ง๊ฐ ์๋๋ฐ, ํ๋๋ offset ๋ฐฉ์์ด๊ณ ํ๋๋ cursor ๋ฐฉ์์ ๋๋ค. 1. ์คํ์ ๊ธฐ๋ฐ ํ์ด์ง๋ค์ด์ (offset pagination) limit, offset ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ๋ถํจ. ์ฃผ๋ก ์น ํ์ด์ง์์ > ์ด๋ฐ ๋ฐฉ์์ ๋ค๋น๊ฒ์ด์ ์ ์ธ ๋ ์ฌ์ฉ 2. ์ปค์ ๊ธฐ๋ฐ ํ์ด์ง๋ค์ด์ (cursor pagination) ๊ฐ์ฅ ์ต๊ทผ idx๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ตฌ๋ถํจ. ์ฃผ๋ก ๋ฌดํ ์คํฌ๋กค์ด๋ ๋๋ณด๊ธฐ๋ฅผ ๊ตฌํํ ๋ ์ฌ์ฉ(SNS)..
2021.01.08