Super Kawaii Cute Cat Kaoani
λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

Linux/Docker

[Jenkins] CentOS8μ—μ„œ Jenkins μ‚¬μš©ν•˜κΈ°

728x90

CentOS8μ—μ„œ Jenkins μ‚¬μš©ν•˜κΈ°


πŸ’‘ νŒŒμ΄ν”„λΌμΈμ΄λž€?

μ»¨ν…Œμ΄λ„ˆλ‘œ κ΅¬λ™ν•˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ°°ν¬ν•˜λŠ” κ³Όμ •

  1. κΉƒν—ˆλΈŒ λ“± μ €μž₯μ†Œμ— μ €μž₯ν•΄ λ‘” μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ†ŒμŠ€ μ½”λ“œλ₯Ό λ‚΄λ €λ°›μ•„ 도컀 μ»¨ν…Œμ΄λ„ˆ μ΄λ―Έμ§€λ‘œ λΉŒλ“œ
  2. λΉŒλ“œν•œ μ»¨ν…Œμ΄λ„ˆ 이미지λ₯Ό μΏ λ²„λ„€ν‹°μŠ€μ—μ„œ μ‚¬μš©ν•  수 μžˆλ„λ‘ λ ˆμ§€μŠ€νŠΈλ¦¬μ— 등둝
  3. λ ˆμ§€μŠ€νŠΈλ¦¬μ— λ“±λ‘λœ 이미지λ₯Ό 기반으둜 μΏ λ²„λ„€ν‹°μŠ€ 였브젝트 생성
  4. μƒμ„±ν•œ 였브젝트λ₯Ό μ™ΈλΆ€μ—μ„œ 접속할 수 μžˆλ„λ‘ μ„œλΉ„μŠ€ ν˜•νƒœλ‘œ λ…ΈμΆœ

λŒ€λΆ€λΆ„ IT μž‘μ—…μ€ νŒŒμ΄ν”„λΌμΈμ„ 톡해 κ²°κ³Όλ₯Ό λ§Œλ“ λ‹€. κΈ°μ‘΄μ—λŠ” νŒŒμ΄ν”„λΌμΈμ„ μ‚¬λžŒμ΄ ν•˜λ‚˜ν•˜λ‚˜ μˆ˜μž‘μ—…μœΌλ‘œ μ§„ν–‰ν–ˆμ§€λ§Œ, μ΄μ œλŠ” 도ꡬλ₯Ό μ‚¬μš©ν•΄ μžλ™ν™”ν•  수 μžˆλ‹€.

 

πŸ’‘ CI/CD

μžλ™ν™”λŠ” 크게 지속적 톡합(CI), 지속적 배포(CD) 두 κ°€μ§€λ‘œ μ •μ˜

CI/CDλŠ” 싀무적인 ν™˜κ²½μ—μ„œ λ³€κ²½ 사항을 계속 좔적해 μ’€ 더 μ•ˆμ •ν™”λœ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ§Œλ“€κ³ , 이λ₯Ό λ°°ν¬ν•˜λŠ” 과정을 μžλ™ν™”ν•˜μ—¬ μ‹œμŠ€ν…œμ„ μ•ˆμ •μ μœΌλ‘œ μš΄μ˜ν•˜λŠ” 데에 많이 쓰인닀.

 

CI (Continuous Integration) : 지속적 톡합. μ½”λ“œλ₯Ό μ»€λ°‹ν•˜κ³  λΉŒλ“œν–ˆμ„ λ•Œ μ •μƒμ μœΌλ‘œ μž‘λ™ν•˜λŠ”μ§€ 반볡적으둜 κ²€μ¦ν•˜μ—¬ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 신뒰성을 높인닀.

CD (Continuous Deployment) : 지속적 배포. CI κ³Όμ •μ• μ„œ μƒμ„±λœ μ‹ λ’°ν•  수 μžˆλŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‹€μ œ μƒμš© ν™˜κ²½μ— μžλ™μœΌλ‘œ λ°°ν¬ν•œλ‹€.

 

πŸ’‘ Jenkins

μ˜€ν”ˆμ†ŒμŠ€ CI/CD 도ꡬ.

μ‚¬μš©μžκ°€ 직접 UIμ—μ„œ μž‘μ—…μ„ κ΅¬μ„±ν•˜κ±°λ‚˜ μž‘μ—… μˆœμ„œλ₯Ό μ½”λ“œλ‘œ μ •μ˜ν•  수 μžˆλ‹€.

λ‹€μˆ˜μ˜ 이용자λ₯Ό λ³΄μœ ν•˜μ—¬ μ‚¬μš©μ— ν•„μš”ν•œ 정보λ₯Ό μ°ΎκΈ° 쉽닀.

λ‹€μ–‘ν•œ μ‚¬μš©ν™˜κ²½, μ–Έμ–΄ 및 λΉŒλ“œ 도ꡬ와 연계할 ν”ŒλŸ¬κ·ΈμΈμ΄ ν•„μš”ν•  경우 μΈν„°λ„·μ—μ„œ μ‰½κ²Œ 찾을 수 μžˆλ‹€.

 

πŸ’‘ Jenkins μ„€μΉ˜ on Centos8

βœ… jdk μ„€μΉ˜

dnf -y install java-11-openjdk-devel

 

βœ… git μ„€μΉ˜

dnf -y install git

 

βœ… jenkins repo μΆ”κ°€

rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
cd /etc/yum.repos.d/
curl -O https://pkg.jenkins.io/redhat-stable/jenkins.repo

 

βœ… jenkins μ„€μΉ˜

dnf -y install jenkins

 

βœ… jenkinsκ°€ shell을 μ‹€ν–‰ν•  수 μžˆλŠ” κΆŒν•œ λΆ€μ—¬

usermod -s /bin/bash jenkins
vi /etc/sudoers

 

βœ… yum-utils μ„€μΉ˜

sudo yum install -y yum-utils

 

βœ… Docker CE μ„€μΉ˜ν•˜κΈ° μœ„ν•œ μ €μž₯μ†Œ

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

 

βœ… Docker κ΄€λ ¨ νŒ¨ν‚€μ§€ μ„€μΉ˜

sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

 

βœ… selinux λΉ„ν™œμ„±ν™”

setenforce 0

 

βœ… λ°©ν™”λ²½ ν•΄μ œ

systemctl disable firewalld  --now

 

βœ… Docker μ‹€ν–‰

systemctl enable docker --now

 

βœ… Docker login

 

βœ… Jenkins μ‹€ν–‰

systemctl enable jenkins --now

 

βœ… λΉ„λ°€λ²ˆν˜Έ 확인

cat /var/lib/jenkins/secrets/initialAdminPassword

 

βœ… μ›Ή UIλ₯Ό 톡해 μ ‘μ†ν•˜κΈ°

http://211.183.3.199:8080

μœ„μ—μ„œ ν™•μΈν•œ PW μž…λ ₯

 

βœ… Install

 

βœ… Create User

 

βœ… Start using Jenkins

 

βœ… βž• μƒˆλ‘œμš΄ item

 

βœ… Configure > github와 μ—°κ²°

 

βœ… μ΄λ―Έμ§€ λΉŒλ“œ

 

βœ… Dashboard μ—μ„œ 확인

 

 

❗️ yum(dnf) 였λ₯˜

μ„€μΉ˜ν•˜λ €λŠ” νŒ¨ν‚€μ§€κ°€ λ‹€λ₯Έ μΆ©λŒν•˜λŠ” νŒ¨ν‚€μ§€μ™€ 좩돌

μ„€μΉ˜ λͺ…λ Ήμ–΄ 뒀에 --allowerasing μΆ”κ°€ν•˜λ©΄ ν•΄κ²°

728x90