์ค์น ํ๊ฒฝ
- NHN Cloud
- Ubuntu 20.04
- Docker 23.0.1
- Jenkins ๊ณต์ ์ด๋ฏธ์ง
Workflow
- Ubuntu ์ธ์คํด์ค์ Docker ์ค์น
- Jenkins ์ปจํ ์ด๋ ์ค์น
- NHN Cloud ๋ณด์๊ทธ๋ฃน์ 8080 ์์ ํฌํธ ์ถ๊ฐ
- public IP:8080 ์ผ๋ก Jenkins ์ ์
- Jenkins ์ค์
- ๊ด๋ฆฌ์ ํจ์ค์๋ ๋ฑ๋ก
- ํ๋ฌ๊ทธ์ธ ์ค์น
- ์ ์ ์ค์
- Jenkins ์ ์ URL ์ค์
- Jenkins ์น ์ ์
1. Ubuntu ์ธ์คํด์ค์ Docker ์ค์น
์๋ ๊ธ์ ์ฐธ๊ณ ํ์ธ์!
[๐ฆ ์ธํ๋ผ/๐ณ Docker] - Ubuntu์ Docker ์ค์นํ๊ธฐ
2. Jenkins ์ปจํ ์ด๋ ์ค์น
sudo docker run -d --name jenkins -p 8080:8080 jenkins/jenkins
- -d: ์ปจํ ์ด๋๋ฅผ ๋ฐ๋ชฌ์ผ๋ก ๋์ด๋ค.
- --name: ์ปจํ ์ด๋์ ์ด๋ฆ์ jenkins๋ก ์ค์ ํ๋ค
- -p 8080:8080: ์ปจํ ์ด๋์ ์ธ๋ถ์ ํต์ ํ ํฌํธ(์์ ๊ฐ)๋ฅผ ๋ด๋ถ์ ์ผ๋ก ์ฌ์ฉํ ํฌํธ(๋ค์ ๊ฐ)๋ฅผ ํฌ์๋ฉํด์ค๋ค.
3. NHN Cloud ๋ณด์๊ทธ๋ฃน์ 8080 ์์ ํฌํธ ์ถ๊ฐ
Jenkins๋ฅผ 8080 ํฌํธ๋ก ์ค์นํ๊ธฐ ๋๋ฌธ์ ํต์ ํ ์ ์๋๋ก ๋ณด์๊ทธ๋ฃน์ 8080 ํฌํธ๋ฅผ ์ถ๊ฐํ์ฌ ์ด์ด์ค๋๋ค.
4. {public IP}:8080 ์ผ๋ก Jenkins ์ ์
์์ ๊ณผ์ ์ ๋ชจ๋ ์ํํ๋ค๋ฉด ์ ํจ์ค ์ค์น๊ฐ ์๋ฃ๋ ๊ฒ์ ๋๋ค!
์ ํจ์ค ์น์ ์ ๊ทผํด๋ณด๊ฒ ์ต๋๋ค. ์ ํจ์ค์ ์ ๊ทผํ๋ ค๋ฉด {public IP}:8080 ์ฃผ์๋ฅผ ์น์ ์
๋ ฅํ๋ฉด ๋ฉ๋๋ค.
์ ์ํ๋ฉด ์๋์ ๊ฐ์ ํ๋ฉด์ด ๋น๋๋ค.
5. Jenkins ์ค์
- ํจ์ค์๋ ๋ฑ๋ก
์ด๊ธฐ ์ ์์ ์ํด ๊ด๋ฆฌ์ ํจ์ค์๋ ๋ฑ๋ก ๊ณผ์ ์ด ํ์ํฉ๋๋ค.
ํด๋น ํค๋ฅผ ํ์ธํ๊ธฐ ์ํด์ ์ ํจ์ค๊ฐ ์ค์น๋ ์ธ์คํด์ค์ ์ ์ํด ์๋์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํฉ๋๋ค.
// jenkins ์ปจํ
์ด๋์ ์ ์
$ sudo docker exec -it jenkins bash
// ์ด๊ธฐ ๊ด๋ฆฌ์ ํค ํ์ธ
$ cat /var/jenkins_home/secrets/initialAdminPassword
- ํ๋ฌ๊ทธ์ธ ์ค์น
ํค๋ฅผ ์ ์
๋ ฅํ๋ฉด ์๋์ ๊ฐ์ด ์ ํจ์ค ์ด๊ธฐ ํ๋ฌ๊ทธ์ธ ์ค์ ์ด ๋์ต๋๋ค.
์ถ์ฒ ํ๋ฌ๊ทธ์ธ ์ค์ ์ผ๋ก ์ ํํฉ๋๋ค.
ํ๋ฌ๊ทธ์ธ๋ค์ด ํ๋์ฉ ์ค์น๋ฉ๋๋ค.
- ์ ์ ์ค์
ํ๋ฌ๊ทธ์ธ ์ค์น๊ฐ ๋๋ฌ๋ค๋ฉด ์ ์ ์ค์ ์ ํฉ๋๋ค.
- Jenkins ์ ์ URL ์ค์
์ ํจ์ค์ ์ ์ํ ๋ ์ฌ์ฉํ URL ์ค์ ์
๋๋ค.
๊ธฐ๋ณธ ์ค์ public IP:8080์ผ๋ก ์ ์งํ๊ณ ๋์ด๊ฐ๋๋ค.
- ์๋ฃ
์ ํจ์ค์ ์ค์น๊ฐ ์๋ฃ๋์์ต๋๋ค!
6. Jenkins ์น ์ ์
์ค์ ํ URL์ ์ ์ ์ ๋ณด๋ก ์ ์ํ๋ฉด ์๋์ ๊ฐ์ ํ๋ฉด์ด ๋์ต๋๋ค.
GUI ํ๋ฉด์ ํตํด ์ ํจ์ค๋ฅผ ์ด์ฉํ ์ ์์ต๋๋ค.