반응형
Docker CLI 설치
docker exec -u root -it jenkins-container-name bash
apt update
apt install -y docker.io
exit
docker exec -it <jenkins-container-name> cat /var/jenkins_home/secrets/initialAdminPassword
2. 필수 플러그인 설치
아래 플러그인들이 모두 설치되어 있어야 Docker 에이전트 사용 가능
- Docker Pipeline
- Pipeline
- Pipeline: Model Definition
- Pipeline: Declarative
- Docker Commons
- Docker API Plugin
🔐 Bitbucket에 SSH 키 등록하는 방법
1️⃣ SSH 키 생성 (이미 생성되어 있으면 이 단계는 생략)
ssh-keygen -t rsa -b 4096
2️⃣ 공개 키 복사
cat ~/.ssh/id_rsa.pub
3️⃣ Bitbucket 웹사이트에서 등록
- Bitbucket 로그인
- 오른쪽 상단 아바타 클릭 → Personal settings 선택
- 왼쪽 메뉴에서 SSH keys 클릭
- Add key 버튼 클릭
- 다음 항목 입력:
- Label: 식별용 이름 (예: "MacBook", "Work PC")
- Key: 복사한 공개키 붙여넣기
- Add SSH key 클릭
4️⃣ SSH 연결 확인
ssh -T git@bitbucket.org
처음 연결 시:
Are you sure you want to continue connecting (yes/no/[fingerprint])?
→ yes 입력
5️⃣ Git 저장소 주소 SSH로 변경 (중요)
git@bitbucket.org:yourteam/yourrepo.git
🔐 Jenkins에 Git Credential 등록하는 방법
✅ 1. Jenkins에서 Credential 등록
① Jenkins 대시보드 접속
- URL 예: http://your-jenkins-server:8080
- 로그인
② 좌측 메뉴:
[Manage Jenkins] → [Credentials] → (Global or 특정 domain 선택)
또는:
[Credentials] → (Stores scoped to Jenkins) → (global) → Add Credentials
🎯 2. 등록 유형 선택
🔹 [2] SSH Key (개인 키 방식)
항목값
Kind | SSH Username with private key |
Username | git (Bitbucket은 항상 git을 사용함) |
Private Key | Enter directly 선택 후, ~/.ssh/id_rsa 내용 붙여넣기 |
Passphrase | 키를 만들 때 비밀번호를 설정했다면 입력 |
ID (선택) | bitbucket-ssh-key 등 |
Description | Bitbucket access via SSH key |
cat ~/.ssh/id_rsa
🚀 3. Jenkins Job에서 Credential 사용
- Jenkins Job (예: Pipeline, Freestyle 등) 설정 열기
- Source Code Management → Git 선택
- Repository URL 입력:
- SSH 방식 예: git@bitbucket.org:kyshop/kyshop.git
- HTTPS 방식 예: https://bitbucket.org/kyshop/kyshop.git
- Credentials 옆에서 등록한 자격 증명 선택
🧨 오류 해석 (한글 번역)
stderr: No ED25519 host key is known for bitbucket.org and you have requested strict checking.
Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
🔎 의미 요약:
- Jenkins 서버가 bitbucket.org의 SSH 호스트 키를 신뢰하지 않아서 연결을 거부한 것입니다.
- 이건 보안상의 이유로, 첫 연결 시 SSH fingerprint(지문)을 수동으로 등록해야 함을 뜻합니다.
✅ 해결 방법: Bitbucket SSH 호스트 키 수동 등록
1️⃣ Jenkins 컨테이너 접속
먼저 현재 실행 중인 Jenkins 컨테이너 ID를 확인합니다:
docker ps
CONTAINER ID IMAGE ... NAMES
abc123def456 jenkins/jenkins ... jenkins-container
docker exec -it jenkins-container bash
ssh-keyscan bitbucket.org >> /etc/ssh/ssh_known_hosts
2️⃣ 컨테이너 내에서 known_hosts 등록
mkdir -p /var/jenkins_home/.ssh
chmod 700 /var/jenkins_home/.ssh
ssh-keyscan bitbucket.org >> /var/jenkins_home/.ssh/known_hosts
chown -R jenkins:jenkins /var/jenkins_home/.ssh
chmod 644 /var/jenkins_home/.ssh/known_hosts
3️⃣ 컨테이너 재시작 필요 없음
- 등록만 하면 바로 적용됩니다.
- Jenkins Job을 다시 실행해보세요.
반응형
댓글