| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- Node.js
- Jenkins
- SpringBoot
- React
- ํฌ๋ก์ค์ฌ์ดํธ ์คํฌ๋ฆฝํธ
- docker
- Personal Access Token
- spring
- oauth
- GoogleLogin
- MySQL
- java์ฑํ
- db์ํคํ ์ณ
- ์๊ณ ๋ฆฌ์ฆ
- dockerhub
- @scheduler
- ์๋ฐ
- db์ ๋ต
- ์ค๋ธ์
- ๋์์ธํจํด
- ์ฟ ๋ฒ๋คํฐ์ค
- ์ฝํ
- spring scheduler
- node.js mysql ์ฐ๋
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- Java
- CICD
- ๋ ผ๋ธ๋กํน
- ์ฝ๋ฉํ ์คํธ
- injection๊ณต๊ฒฉ
- Today
- Total
<Hello Hosung๐/>
[Docker] ๋์ปค๋ก Jenkins๐ ์๋ฒ ๋ง๋ค์ด๋ณด๊ธฐ ๋ณธ๋ฌธ
[Docker] ๋์ปค๋ก Jenkins๐ ์๋ฒ ๋ง๋ค์ด๋ณด๊ธฐ
์ข์ถฉ์ฐ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ์ผ๊ธฐ๐ง 2024. 11. 20. 17:52

์ด๋ฒ ํฌ์คํ ์์๋ Docker๋ฅผ ์ฌ์ฉํด Jenkins ์๋ฒ๋ฅผ ๊ตฌ์ถํ๊ณ ,
Jenkins ๋ด๋ถ์์ Docker ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ค๋ฃน๋๋ค. CI/CD ํ์ดํ๋ผ์ธ ๊ตฌ์ถ์ ์ค๋นํ๋ ๋จ๊ณ๋ก ํ์ฉํ ์ ์์ต๋๋ค.
1. Jenkins ์ปจํ ์ด๋ ์คํ
Jenkins๋ฅผ Docker ์ปจํ ์ด๋์์ ์คํํ๋ ค๋ฉด ๋จผ์ Jenkins ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์ค๊ณ , ์ปจํ ์ด๋๋ฅผ ๊ธฐ๋ํด์ผ ํฉ๋๋ค.
1.1 Docker ์ค์น ํ์ธ
๋จผ์ , Docker๊ฐ ์ค์น๋์ด ์๋์ง ํ์ธํฉ๋๋ค. ์ค์น๋์ง ์์๋ค๋ฉด Docker ๊ณต์ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ค์นํ์ธ์.
docker --version
1.3 Jenkins ์ปจํ ์ด๋ ์คํ
Jenkins ์ปจํ ์ด๋๋ฅผ ์คํํ ๋ Docker ์์ผ ๊ณต์ ๋ฅผ ํตํด ์ปจํ ์ด๋ ๋ด๋ถ์์๋ Docker ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ์ค์ ํฉ๋๋ค.
docker run -v /var/run/docker.sock:/var/run/docker.sock \
-v jenkins_home:/var/jenkins_home \
-p 7070:8080 \
--name jenkins-container \
-d jenkins/jenkins:lts
- -v /var/run/docker.sock:/var/run/docker.sock
ํธ์คํธ์ Docker ์์ผ์ ์ปจํ ์ด๋์ ๊ณต์ ํฉ๋๋ค. - -v jenkins_home:/var/jenkins_home
Jenkins ๋ฐ์ดํฐ๋ฅผ ์ง์์ ์ผ๋ก ์ ์ฅํ ์ ์๋๋ก ๋ณผ๋ฅจ์ ์ค์ ํฉ๋๋ค. - -p 7070:8080
ํธ์คํธ์ ํฌํธ 7070์ ์ปจํ ์ด๋์ ํฌํธ 8080์ ๋งคํํฉ๋๋ค. - --name jenkins-container
์ปจํ ์ด๋ ์ด๋ฆ์ jenkins-container๋ก ์ง์ ํฉ๋๋ค.
๐ก ์ฐธ๊ณ :Docker ์ปจํ
์ด๋๋ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ๋๋ฏ๋ก -d ์ต์
์ ์ฌ์ฉํฉ๋๋ค.
2. Jenkins ์ด๊ธฐ ์ค์
2.1 Jenkins ์น ์ธํฐํ์ด์ค ์ ์
๋ธ๋ผ์ฐ์ ์์ ์๋ URL๋ก ์ ์ํฉ๋๋ค
http://localhost:7070
2.2 ์ด๊ธฐ ๊ด๋ฆฌ์ ๋น๋ฐ๋ฒํธ ํ์ธ
Jenkins๋ฅผ ์ฒ์ ์คํํ๋ฉด ์ด๊ธฐ ๋น๋ฐ๋ฒํธ๋ฅผ ์๊ตฌํฉ๋๋ค. ์๋ ๋ช ๋ น์ด๋ก ํ์ธํ์ธ์.
docker exec -it jenkins-container cat /var/jenkins_home/secrets/initialAdminPassword
2.3 ํ๋ฌ๊ทธ์ธ ์ค์น
Jenkins ์น UI์ ๋ก๊ทธ์ธํ ํ, ๊ถ์ฅ ํ๋ฌ๊ทธ์ธ์ ์ค์นํฉ๋๋ค.
ํ์์ ๋ฐ๋ผ Pipeline, Git, Docker ๊ด๋ จ ํ๋ฌ๊ทธ์ธ์ ์ถ๊ฐ๋ก ์ค์นํ์ธ์.
3. Jenkins ์ปจํ ์ด๋ ๋ด๋ถ์์ Docker ๋ช ๋ น์ด ์ฌ์ฉํ๊ธฐ
Jenkins ๋ด๋ถ์์ Docker ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด Docker CLI๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค. ๋ํ ๊ถํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ช ๊ฐ์ง ์ค์ ์ด ํ์ํฉ๋๋ค.
3.1 Jenkins ์ปจํ ์ด๋์ Root ๊ถํ์ผ๋ก ์ ์
docker exec -it -u root jenkins-container /bin/bash
๐ก ์ฐธ๊ณ : -u root ์ต์ ์ผ๋ก Root ์ฌ์ฉ์๋ก ์ ์ํฉ๋๋ค.
3.2 Docker CLI ์ค์น
์ปจํ ์ด๋ ๋ด๋ถ์์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์์๋๋ก ์คํํ์ธ์.
# ํจํค์ง ์
๋ฐ์ดํธ
apt-get update
# ํ์ ํจํค์ง ์ค์น
apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common
# Docker GPG ํค ์ถ๊ฐ
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
# Docker ์ ์ฅ์ ์ถ๊ฐ
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
# ํจํค์ง ๋ชฉ๋ก ์
๋ฐ์ดํธ
apt-get update
# Docker CLI ์ค์น
apt-get install -y docker-ce-cli
3.3 Docker ๊ถํ ๋ฌธ์ ํด๊ฒฐ
๊ถํ ๋ฌธ์ ๋ก Docker ๋ช ๋ น์ด๊ฐ ์๋ํ์ง ์์ ์ ์์ต๋๋ค. ์๋ ๋ช ๋ น์ด๋ก ์์ผ ๊ถํ์ ์ค์ ํ์ธ์.
sudo chmod 666 /var/run/docker.sock
4. Jenkins์ Docker ์ฐ๋ ํ ์คํธ
๋ชจ๋ ์ค์ ์ด ์๋ฃ๋๋ฉด Jenkins ๋ด๋ถ์์ Docker ๋ช ๋ น์ด๊ฐ ์ ์์ ์ผ๋ก ์๋ํ๋์ง ํ์ธํฉ๋๋ค.
4.1 Docker ์ํ ํ์ธ
์ปจํ ์ด๋ ๋ด๋ถ์์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
docker ps
Docker ์ปจํ ์ด๋ ๋ชฉ๋ก์ด ์ถ๋ ฅ๋๋ฉด ์ฐ๋์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋ ๊ฒ์ ๋๋ค.
5. Jenkins์ CI/CD ํ๊ฒฝ ์ค๋น
Jenkins์์ Docker๋ฅผ ํ์ฉํด CI/CD ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ ์ค๋น๊ฐ ์๋ฃ๋์์ต๋๋ค.
๋ค์ ๋จ๊ณ์์๋ ๋ค์๊ณผ ๊ฐ์ ์์ ์ ์งํํ ์ ์์ต๋๋ค
- GitHub์์ ์ฝ๋ ๊ฐ์ ธ์ค๊ธฐ
- Docker ์ด๋ฏธ์ง ๋น๋ ๋ฐ ์ปจํ ์ด๋ ์คํ
- ์๋ ๋ฐฐํฌ ํ์ดํ๋ผ์ธ ๊ตฌ์ฑ
๋ง๋ฌด๋ฆฌ
์ด๋ฒ ํฌ์คํ ์์๋ Docker ํ๊ฒฝ์์ Jenkins ์๋ฒ๋ฅผ ๊ตฌ์ถํ๊ณ , ๋ด๋ถ์์ Docker ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ดค์ต๋๋ค. Jenkins๋ฅผ ํ์ฉํด CI/CD ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ๊ณ ์ ํ๋ค๋ฉด, ์ด ๊ณผ์ ์ ๊ธฐ๋ฐ์ผ๋ก ์๋ํ ์์คํ ์ ์ค๊ณํด ๋ณด์ธ์
'๐ณ Docker' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Docker] ์ค์ผ์คํธ๋ ์ด์ ๋๊ตฌ ๋น๊ต (0) | 2024.11.27 |
|---|---|
| [Docker] ๋์ปค์ ๋คํธ์ํฌ๋? (0) | 2024.11.26 |
| [Docker] ๋์ปค๋ก MySQL DB๐ฆ ์๋ฒ ๋ง๋ค์ด๋ณด๊ธฐ (2) | 2024.08.18 |
| [Docker] ๋์ปค๐ณ ๊ฐ๋ ์ก๊ธฐ (0) | 2024.08.16 |