본문 바로가기
카테고리 없음

ubuntu 24.04 jenkins 설치

by 광고(주) 2026. 1. 19.
반응형

Ubuntu 24.04 서버에 Jenkins 설치 → Bitbucket 레포에서 소스 가져오기 → Spring Boot를 Docker로 빌드/실행

1️⃣ Ubuntu 24.04에 Jenkins 설치

1-1. Java 설치 (Jenkins 필수)

sudo apt update
sudo apt upgrade -y
sudo apt install -y openjdk-21-jdk
java -version

1-2. Jenkins 설치

Jenkins GPG Key 추가
sudo wget -O /etc/apt/keyrings/jenkins-keyring.asc \
  https://pkg.jenkins.io/debian-stable/jenkins.io-2026.key

저장소 등록
echo "deb [signed-by=/etc/apt/keyrings/jenkins-keyring.asc]" \
  https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null

Jenkins 설치
sudo apt update
sudo apt install -y jenkins

1-3. Jenkins 설정

vi /lib/systemd/system/jenkins.servic

[Service]
Environment="JENKINS_PORT=8081"

1-4. Jenkins 시작

sudo systemctl enable jenkins 
sudo systemctl start jenkins 
sudo systemctl stop jenkins 
sudo systemctl status jenkins

 

1-3. Jenkins 초기 접속

브라우저에서: http://서버IP:8080

초기 비밀번호: sudo cat /var/lib/jenkins/secrets/initialAdminPassword

Recommended plugins 설치
Admin 계정 생성

 

2️⃣ Docker 설치 (Spring Boot 실행용)

기존 containerd 완전 제거

sudo apt remove -y containerd containerd.io docker docker.io docker-compose docker-compose-plugin
sudo apt autoremove -y

 

Docker 공식 저장소 설정 (중요)

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

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
  sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  
  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
 
Docker + containerd.io 설치
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

 

 
Docker 정상 동작 확인
docker --version
docker compose version
Jenkins가 Docker 사용 가능하게 설정
sudo usermod -aG docker jenkins 
sudo systemctl restart jenkins
 

⚠️ 반드시 Jenkins 재시작 필요

3️⃣ Bitbucket 연동 준비

3-1. Jenkins 플러그인 설치

Jenkins 관리 → Plugins → 설치

  • ✅ Git
  • ✅ Bitbucket
  • ✅ Docker Pipeline
  • ✅ Gradle
  • Generic Webhook Trigger

3-2 Jenkins 서버에서 SSH 키 생성

1-1. Jenkins 계정으로 전환

sudo su - jenkins
pwd # /var/lib/jenkins

1-2. SSH 키 생성

ssh-keygen -t ed25519 -C "jenkins@bitbucket"

~/.ssh/id_ed25519 (Private Key)
~/.ssh/id_ed25519.pub (Public Key)

1-3. 권한 설정 (매우 중요)

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub

 

3-3 Bitbucket에 Public Key 등록

2-1. Public Key 내용 확인

cat ~/.ssh/id_ed25519.pub
 

 

  1. Bitbucket 로그인
  2. 오른쪽 상단 아바타 클릭 → Personal settings 선택
  3. 왼쪽 메뉴에서 SSH keys 클릭
  4. Add key 버튼 클릭
  5. 다음 항목 입력:
    • Label: 식별용 이름 (예: "MacBook", "Work PC")
    • Key: 복사한 공개키 붙여넣기
  6. Add SSH key 클릭

3-4 Jenkins에 Private Key 등록

3-1. Jenkins 관리 화면 이동

Jenkins 관리 → Credentials → (Global) → Add Credentials

3-2. Credentials 입력값 (중요)

항목입력값
Kind SSH Username with private key
Username git
Private Key Enter directly
Key id_ed25519 전체 내용 복사
Passphrase 비움
ID bitbucket-ssh (추천)
Description Bitbucket SSH Key for Jenkins

⚠️ Username은 무조건 git
(Bitbucket SSH 규칙)

Private Key 복사 방법

 
cat /var/lib/jenkins/.ssh/id_ed25519

⚠️ -----BEGIN OPENSSH PRIVATE KEY-----
부터
-----END OPENSSH PRIVATE KEY-----
까지 전부 복사

 

1️⃣ Jenkins 포트 변경

설정파일 수정

#포트로 변경
sudo vi /etc/default/jenkins
HTTP_PORT=8080
sudo nano /lib/systemd/system/jenkins.service
Environment="JENKINS_PORT=8083"

#Jenkins 재시작
sudo systemctl restart jenkins

#확인
sudo systemctl status jenkins

 

오류해결방법: permission denied while trying to connect to the docker API at unix:///var/run/docker.sock

1. Jenkins 사용자를 docker 그룹에 추가
sudo usermod -aG docker jenkins

2. Jenkins 재시작
sudo systemctl restart jenkins

3. Docker 권한 확인
sudo su - jenkins
docker ps
ls -l /var/run/docker.sock
반응형

댓글