I can do it(Feat. DEV)

[CI/CD] Docker로 Jenkins Server 설치 및 실행(Feat. 우분투)[2편] 본문

개발자 모드/응용

[CI/CD] Docker로 Jenkins Server 설치 및 실행(Feat. 우분투)[2편]

까짓거 해보자 개발자 2024. 9. 12. 16:55
728x90

2024.09.11 - [개발자 모드/응용] - [CI/CD] Docker로 Jenkins Server 설치 및 실행(Feat. 우분투)[1편]

 

[CI/CD] Docker로 Jenkins Server 설치 및 실행(Feat. 우분투)[1편]

평소 CI/CD에 대해서 관심은 있었지만 직접 경험해 보기에는 어려울 듯하여 미루고 미루다 더 이상은 안 되겠다!! 싶어서 쓰는 젠킨스 서버 설치 포스팅!!🎉  🖥️세팅 환경 - 클라우드 서비스 :

precious-value.tistory.com

 

저번 편에서 말씀드렸다시피 이번 편에서는 젠킨스 초기 설정 및 깃헙과 젠킨스 연동 작업(키 등록, 웹훅 설정 등)을 진행해 보겠음!!

 

그럼 두말할 거 없이 진행!!✈️


[2편-1] 젠킨스 초기 설정

 

1편에서 생성한 도커의 젠킨스 컨테이너를 실행시킨 뒤 서버에 접속!!

 

젠킨스 패스워드 화면

접속하니 웬 패스워드를 치라고 하는데... 난 패스워드를 설정한 적이 없는데!!?😯

 

알아보니 도커 컨테이너 실행 시 자동으로 만들어주는 패스워드인 것 같음.

 

나와있는 데로 /var/jenkins_home/secrets/initialAdminPassword 해당 경로에 가면 패스워드를 알 수 있음!

 

또는

docker logs 컨테이너명

 

을 하면  해당 컨테이너의 로그에 비밀번호가 나와있음!!

젠킨스 서버 비밀번호

이 패스워드를 입력하면!!

 

인스톨 화면

 

인스톨 화면으로 넘어오고, Install suggested plugins 클릭!!😄

 

설치 화면

그러면 알아서 설치를 진행해 줌!!

 

첫 관리자 계정 생성 화면

 

관리자 계정을 생성하고...

 

젠킨스 접속 URL 설정 화면

 

젠킨스 url은 자동으로 입력되어 있어서 Save and Finish를 클릭!

 

준비완료된 젠킨스 화면

 

Start using Jenkins 클릭하면 젠킨스 초기 설정은 끝!!🎊🎊


[2편-2] 깃헙과 젠킨스 연동 작업(키 등록, 웹훅 설정 등) - 젠킨스 ssh key 생성 후 개인 키 등록

 

이제 깃헙에서 특정 브랜치에 push 했을 때 젠킨스에서 빌드 및 테스트가 가능하도록 연결 작업을 진행해 보겠음!!

 

먼저 젠킨스에서 SSH key를 생성해야 함.

 

젠킨스 컨테이너의 shell에 접속하고 아래 명령어대로 키 생성 진행!

 

⚠️[참고] jenkins의 홈 폴더 경로 : /var/jenkins_home/

# .ssh 폴더 생성 후 이동
mkdir /var/jenkins_home/.ssh
cd ./.ssh

# ssh 키 생성
ssh-keygen -t rsa -f /var/jenkins_home/.ssh/jenkins_ssh_key

 

ssh key 발급 과정

 

공개키를 발급받을 때 입력하는 게 있지만 그냥 엔터치고 진행!!

 

jenkins_ssh_key : 개인 키(젠킨스에 등록)

jenkins_ssh_key.pub : 공개 키(깃헙에 등록)

 

공개키를 만들었다면 다시 젠킨스 서버에 접속!!

 

젠킨스 키 설정 화면 1

 

Kenkins 관리 > Credentials 클릭!!

 

젠킨스 키 설정 화면 2

 

(global) 위치에 마우스를 올리고 Add credentials 버튼 클릭!!

 

젠킨스 키 설정 화면 3

Kind 옵션 > SSH Username with private key 선택 후 Private Key 옵션에 Enter directly 옵션 체크!!

 

이후 아까 jenkins_ssh_key(공개키)를 내용에 입력 후 Create 버튼 클릭!!

 

젠킨스 키 등록 완료 화면

 

정상적으로 등록이 완료된 것을 확인할 수 있음!!🤗

 


[2편-2] 깃헙과 젠킨스 연동 작업(키 등록, 웹훅 설정 등) - 깃헙에 공개 키 등록

 

아까 생성한 /var/jenkins/. ssh/ 위치에 공개키(jenkins_ssh_key.pub)의 내용을 cat 명령어로 확인 후 복사!!

 

이후 연결할 깃헙 레포지토리에 접속 후 오른쪽의 Settings 버튼 클릭!!

 

깃헙 공개키 등록 화면

 

이후 왼쪽 메뉴에서 Deploy keys > 우측 상단 Add deploy key 클릭!!

 

깃헙 공개키 등록 완료 화면

 

이렇게 등록이 완료된 것을 볼 수 있음!!

 


[2편-2] 깃헙과 젠킨스 연동 작업(키 등록, 웹훅 설정 등) - 깃헙 웹 훅 설정

 

이제 깃헙 특정 브랜치에 소스 코드를 push 했을 때 Jenkins에 알림이 가도록 설정할 예정!!

 

Jenkins에는 github plugin이 기본적으로 설치가 되어 있기 때문에 깃헙에서만 설정을 해주면 됨!!

 

그럼 바로 진행해 보겠음!!😄

 

깃헙 웹훅 설정 화면

 

먼저 아까처럼 연결하고 싶은 레포지토리 Settings > 왼쪽 메뉴 Webhooks를 선택 후 Add webhook 버튼 클릭!!

 

이후 Payload URL에 뭘 넣을지는 다들 알겠죠??😉

알잖아요?

 

[jenkins의 주소:port]/github-webhook/을 입력 후 바로 Add webhook 버튼 클릭하면 설정이 완료됨!!

 

깃헙 웹 훅 등록 완료 화면

 

여기까지 진행하면 깃헙과 젠킨스는 연동이 완료되었음!!🎊

 

이후 3편에서는... 젠킨스에서 깃헙에 push 된 소스 코드를 빌드 및 테스트할 Job을 생성해 볼 예정!!

 

다들 고생하셨고 더운 날씨에 다들 몸 조심하시길..!😉

 

그럼 3편에서 만나용~🖐️

 

 

 

 

📢 참고 사이트

https://www.dongyeon1201.kr/9026133b-31be-4b58-bcc7-49abbe893044#d64d5c63-a21a-446d-b2be-8a7f8dbae40f

 

Jenkins를 사용한 DevOps 환경 구축

✅ 목차

www.dongyeon1201.kr

 

728x90