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

jenkins docker 설정

by 광고(주) 2025. 5. 26.
반응형

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 웹사이트에서 등록

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

  1. Jenkins Job (예: Pipeline, Freestyle 등) 설정 열기
  2. Source Code Management → Git 선택
  3. Repository URL 입력:
  4. 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을 다시 실행해보세요.
반응형

댓글