반응형
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
- Bitbucket 로그인
- 오른쪽 상단 아바타 클릭 → Personal settings 선택
- 왼쪽 메뉴에서 SSH keys 클릭
- Add key 버튼 클릭
- 다음 항목 입력:
- Label: 식별용 이름 (예: "MacBook", "Work PC")
- Key: 복사한 공개키 붙여넣기
- 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반응형
댓글