이번 포스팅에서는 Git Push 트리거 발생 시, 자동 이관을 위한 Git 및 Jenkins 세팅이다.


1) Git 토큰 발급

 

ㅁ GitHub - Setting - Devleoper setting - Personal access tokens 에서 접속을 위한 토큰 생성을 한다.

 

 

ㅁ Token의 권한 설정

 

잘 모르면 Full로 주어, 기능 테스트를 하는게 맞으나

필요한 권한만 부여해보고 각 기능에 어떤 권한이 필요한지 확인해보자.

 

저장소에 접근하기 위한 repo 권한과

Push 발생 시, Web hooking을 위한 admin:repo_hook 권한을 주어봤다.

 

 

2. Jenkins 연동

 

시스템 설정 - Git Hub 추가 

 

Kind : Secret text - text 형식으로 토큰 값 입력하겠다.

Secret : Git hub에서 발급받은 토큰 입력

ID: 내부 식별용도

 

해당 정보로 연동 테스트

 

ㅁ Item 생성

 

Free style Project 생성 - Git Hub Projcet 생성 후 , 본인의 Git 주소 입력

 

소스 관리 - git 경로 입력 및 위에서 등록했던 Credentials 입력

 

 

* 에러발생

Couldn't find any revision to build

디렉토리 구조 없이 read.me 파일만 있어서 그런건가?

-> branch 설정 시, 기본 값인 */master를 사용하였으나

    GIt Hub에 들어가보면 main branch를 사용중이다.

 

 

빌드 성공

 

 

ㅁ Local 에서 빌드 연동 확인

 

'IT > Jenkins' 카테고리의 다른 글

(1) 젠킨스 설치  (1) 2022.02.19
환경
- WSL ( Windows Subsystem for Linux ) OS 위에 설치
- Docker 환경 ( Ubuntu 20.4 LTS , Java 8 )

 

CI 툴중 하나인 Jenkins 설치 및 학습을 진행하려 한다.

Docker를 사용하여 각 호스트를 분리하고, 구성하면서 흐름에 대해 알아보자.

 

예상되는 시나리오는

1) 개발서버 컨테이너에서 코드 작성후 Git Push

2) 해당 Push를 트리거로 Webhook을 통해 젠킨스 컨테이너로 가져옴

3) 해당 내용 운영서버 컨테이너에 반영

간단하게 도커, 깃헙, 젠킨스 연동하는 아키텍처를 구성해보았으며

추후 유닛, 품질테스트 및 Slack을 통한 Notification 단계까지 구현할 예정이다. + 분산 빌드 환경 구축


1. Docker 설치

 

ㅁ 참조

2021.06.30 - [IT/도커도커] - (1) Ubuntu에 도커 설치하기

 

※ WSL 에서는 systemctl 명령어로 수행 시, 에러 발생

/etc/init.d로 수행해 주어야한다.

sudo /etc/init.d/docker start
sudo /etc/init.d/docker status


2. Jenkins 를 실행시킬 jenkins_admin 서버 구동

 

docker run -it -d --name jenkins -p 8080:8080 jenkins

run : 이미지 pull 및 실행

it : 터미널의 입력을 docker로 전달

d : 백그라운드 수행

name : 컨테이너에 이름 부여

p : {port1}:{port2}. 부모 서버의 port1로 오는 요청을, 컨테이너 port2로 포워딩

 

ㅁ 에러발생

도커 데몬 수행을 위해 /var/run/docker.sock 에 접근했으나 실패한 것으로 보임.

 

1) Root로 수행하던가

2) 같은 그룹에 넣어주자.

sudo usermod -g docker stadm

 

ㅁ 에러발생2

 

이미지를 찾지 못한 것 같다. 

docker hub에 들어가, jenkins 공식 이미지를 찾아보니 링크가 걸려있었다.

jenkins/jenkins 로 이미지를 다운받자.

This image has been deprecated for over 2 years in favor of the jenkins/jenkins:lts image

 

docker run -it -d --name jenkins -p 8080:8080 jenkins/jenkins

 

구동 확인


3. jenkins 설정

 

ㅁ 설치 확인 후, localhost 8080 포트로 들어가보자

 

도커를 구동할때 8080 포트 포워딩을 해놓아서, 컨테이너의 8080포트를 호출한다.

 

1) 초기 패스워드 설정

OS 에서 해당 위치의 초기패스워드를 확인해, 웹상에 입력해준다.

 

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

2) 초기 플러그인 설치

 

3) 설치 완료 및 어드민 계정 생성

 

4) 설치 및 세팅 완료

 

'IT > Jenkins' 카테고리의 다른 글

(2) Git 연동  (0) 2022.02.27

+ Recent posts