๊ฐ“ ํƒœ์–ด๋‚œ ์ปจํ…Œ์ด๋„ˆ๋Š” ๋‚ด๋ถ€์— ์„ค์น˜๋œ ๊ฒƒ์ด ๊ฑฐ์˜ ์—†์–ด์„œ vi ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด vim์„ ์„ค์น˜ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

 

# ์ปจํ…Œ์ด๋„ˆ๋ช… ํ™•์ธ
docker ps -a

# ์ปจํ…Œ์ด๋„ˆ ์ ‘์†
docker exec -it [์ปจํ…Œ์ด๋„ˆ๋ช…] /bin/bash

# Permission denied ๋ฐœ์ƒ
Reading package lists... Done
E: List directory /var/lib/apt/lists/partial is missing. 
- Acquire (13: Permission denied)

# ์ปจํ…Œ์ด๋„ˆ u0 ์žฌ์ ‘์†(๊ถŒํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ)
docker exec -itu0 [์ปจํ…Œ์ด๋„ˆ๋ช…] /bin/bash

apt-get update
apt-get upgrade
apt-get install vim

 

 

์ฐธ๊ณ  ์‚ฌ์ดํŠธ

Docker๋กœ Jenkins๋ฅผ ๋„์šฐ๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ, ์ด๋ฏธ 8080 ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์–ด Jenkins ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ๋ฐ”๊พธ๊ณ ์ž ํ–ˆ๋‹ค.

 

๋งŒ์•ฝ Docker๊ฐ€ ์•„๋‹Œ ๋กœ์ปฌ์— Jenkins๋ฅผ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด "/etc/default/jenkins" ํŒŒ์ผ์„ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ •๋ณด๋Š” ๋งŽ์ง€๋งŒ

Docker์˜ Jenkins ๊ธฐ๋ณธ ํฌํŠธ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์ •๋ณด๋Š” ๋งŽ์ง€ ์•Š์•˜๋‹ค.

 

๐Ÿณ Jenkins Docker ๊ณต์‹๋ฌธ์„œ

https://hub.docker.com/_/jenkins

 

jenkins - Official Image | Docker Hub

DEPRECATION NOTICE This image has been deprecated for over 2 years in favor of the jenkins/jenkins:lts image provided and maintained by the Jenkins Community as part of the project's release process. The images found here have not received updates for over

hub.docker.com

 

Docker์˜ Jenkins ๊ธฐ๋ณธ ํฌํŠธ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด JENKINS_OPTS๋ฅผ ํ™œ์šฉํ•ด์•ผ ํ•œ๋‹ค.

์ฒ˜์Œ์— ๊ทธ๋ƒฅ ๋ฌด์ž‘์ • 7070:7070๋งŒ ์ž…๋ ฅํ–ˆ๋”๋‹ˆ ์  ํ‚จ์Šค ์ ‘์†์ด ์•ˆ ๋˜๋”๋ผ..

docker run -itd --env JENKINS_OPTS=--httpPort=7070 -p 7070:7070 -v ~/jenkins:/var/jenkins_home --name jenkins jenkins/jenkins:lts

JENKINS_OPTS ํ™˜๊ฒฝ๋ณ€์ˆ˜์— --httpPort๊ฐ’์„ ์ง€์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค!

 

 

 

 

์ฐธ๊ณ  ์‚ฌ์ดํŠธ

์„ค์น˜ ํ™˜๊ฒฝ

  • NHN Cloud
  • Ubuntu 20.04
  • Docker 23.0.1
  • Jenkins ๊ณต์‹ ์ด๋ฏธ์ง€



Workflow

  1. Ubuntu ์ธ์Šคํ„ด์Šค์— Docker ์„ค์น˜
  2. Jenkins ์ปจํ…Œ์ด๋„ˆ ์„ค์น˜
  3. NHN Cloud ๋ณด์•ˆ๊ทธ๋ฃน์— 8080 ์ˆ˜์‹  ํฌํŠธ ์ถ”๊ฐ€
  4. public IP:8080 ์œผ๋กœ Jenkins ์ ‘์†
  5. Jenkins ์„ค์ •
    • ๊ด€๋ฆฌ์ž ํŒจ์Šค์›Œ๋“œ ๋“ฑ๋ก
    • ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜
    • ์œ ์ € ์„ค์ •
    • Jenkins ์ ‘์† URL ์„ค์ •
  6. Jenkins ์›น ์ ‘์†

 

1. Ubuntu ์ธ์Šคํ„ด์Šค์— Docker ์„ค์น˜

์•„๋ž˜ ๊ธ€์„ ์ฐธ๊ณ ํ•˜์„ธ์š”!

[๐Ÿšฆ ์ธํ”„๋ผ/๐Ÿณ Docker] - Ubuntu์— Docker ์„ค์น˜ํ•˜๊ธฐ

 

Ubuntu์— Docker ์„ค์น˜ํ•˜๊ธฐ

์„ค์น˜ ํ™˜๊ฒฝ NHN Cloud Ubuntu 20.04 Docker 23.0.1 Ubuntu ์ธ์Šคํ„ด์Šค์— Docker ์„ค์น˜ ๐Ÿณ Docker Docs ์ฐธ๊ณ  1. apt package index ์—…๋ฐ์ดํŠธ ๋ฐ apt๊ฐ€ HTTPS๋ฅผ ํ†ตํ•ด ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. sudo apt-get upd

myminju.tistory.com

 

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 ํ™”๋ฉด์„ ํ†ตํ•ด ์  ํ‚จ์Šค๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ค์น˜ ํ™˜๊ฒฝ

  • NHN Cloud
  • Ubuntu 20.04
  • Docker 23.0.1

 

Ubuntu ์ธ์Šคํ„ด์Šค์— Docker ์„ค์น˜

๐Ÿณ Docker Docs ์ฐธ๊ณ 

1. apt package index ์—…๋ฐ์ดํŠธ ๋ฐ apt๊ฐ€ HTTPS๋ฅผ ํ†ตํ•ด ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release


2. Docker GPGํ‚ค ์ถ”๊ฐ€

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg


3. ์ €์žฅ์†Œ ์„ค์ •

echo \
 "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
 $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null


4. Docker Engine ์„ค์น˜

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin


5. Docker์˜ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€์ธ hello-world ์ด๋ฏธ์ง€๋ฅผ ํ†ตํ•ด ์ •์ƒ์ ์œผ๋กœ ์„ค์น˜๋˜์—ˆ๋Š”์ง€ ํ…Œ์ŠคํŠธ

sudo docker run hello-world

 

+ Recent posts