TIL/DOCKER

Jenkins #2 Github Repo 와 Jenkins 연동하기 - 실패 버전

아람2 2025. 7. 16. 22:56
반응형

 

https://helloahram.tistory.com/246 여기서 이어서 진행 중 - 

 

Jenkins #1 로컬 Docker 환경에서 Freestyle Job 실행해보기

정글에서는 AWS Credit 을 받아 AWS 환경을 구성하고 Jenkins 도 설치했지만 여기서는 Local 환경에 Docker 를 이용하여 Jenkins 를 구성해보려고 한다 정글에서 진행한 CI/CD via Jenkins + Docker https://helloahram.tis

helloahram.tistory.com

 

Github Repo 준비하기 

연동할 프로젝트의 Root 폴더에 Jenkinsfile 파일을 만들고, Pipeline 을 넣어준다 

그리고 Jenkins 에서 접근할 수 있도록 권한 설정을 해준다 

Github Setting > Developer Settings > Personal Access Tokens > Tokens (Classic) 에서 

Generate new Token 버튼을 선택하여 Token 을 만들고 키는 어딘가에 (ex. 메모장) 적어주면 Github 설정 끝! 

 

Jenkins 에 Github Integration Plugin 설치 

Jenkins 관리 > Plugins 화면에서 Github Integration 을 검색해서 설치해준다 

상태가 대기중으로 뜬다고 기다릴 필요 없다, Page Refresh 하면 끝나있음ㅋ 

Jenkins Credentials 등록 

Jenkins 관리 > 자격 증명 (Credentials) 화면에서 System 링크 > Global Credentials 링크를 차례로 선택한다 

그리고 우측 상단의 Add Credentials 버튼을 선택한다 

New Credentials 화면에서 Username 에는 Github ID,

Pasword 는 Github 의 Personal Access Token 을 넣어 준다 

Credential 등록 완료!

Pipeline Job 만들기 

Jenkins Dashboard 로 다시 넘어와서 새로운 Item 을 선택하고 

Item name 을 입력한 다음 Pipeline 을 선택한다 

스크롤을 내려 Pipeline 영역에서 Definition 은 Pipeline Script from SCM 을 선택하고, 

SCM 은 Git, Repository URL 은 Github Repo URL 을 넣어준다 

Repo URL 을 넣으면 Failed to connect 어쩌구저쩌구 하는 경고 문구가 뜨는데, 

그 아래 Credentials 에서 아까 추가한 Credential 을 선택해주면 경고 문구가 없어진다 

Branches to build 영역에서 Branch Specifier 는 브랜치 명을 넣어주면 된다 

그럼 설정 끝!

 

 

이 아래는 전부 다 실패 사례다 

정글에서는 Freestyle 로 했지만, 이번엔 Pipeline 을 사용해서 첫 시도다 보니 

시행 착오가 많을 예정^_^,..ㅎㅎㅎ 


Job Build 하기 #1 

얼추 설정은 다 끝났으니 [지금 빌드] 를 선택한다 

빌드가 실패했다ㅠㅡㅠ

다행히 (?) Github 연동은 성공했다 

Console Output 에서 보니, Python3: not found 로그가 보인다 

앗, Jenkins Docker 컨테이너에 Python 을 설치해야 한다 

Docker 컨테이너에 Root 권한으로 접속해서 (apt 는 Root 권한이 필요함) Python 을 설치해준다 

docker exec -it -u root jenkins-lts bash
apt update && apt install -y python3 python3-pip python3-venv

Job Build #2 

Playwright 실행 중 필요한 시스템 라이브러리가 누락되어 Dependency 문제가 발생했다 

Error MSG 가 알려준 대로 playwright install-deps 명령어를 실행하여 필요한 라이브러리를 설치하려고 했는데 

컨테이너 내에서는 Playwright 명령이 인식되지 않았다 

흠 시간 관계 상 이건 내일 다시 봐야겠다,.ㅎ  

 

 

 

 

반응형