Jenkins GitHub 연동

정명진·2022년 11월 4일
0

JenKins 플러그인 설치까지 완료했으면 이제 github을 연동시켜 주면 된다.

만약 repository가 private라면 credential을 작성해줘야한다.

Credential 추가

Dashboard -> Jenkins 관리 -> ManageCredentials -> Add domain

우선 도메인을 생성하고 해당 도메인에 들어가자.

이제 Add Credentials 누르자.

Token 방식으로 저장할거면

kind UsernameWithPassword 고르고

scope는 목적에 맞게

Username은 Git ID password는 Git에서 발급한 액세스토큰을 넣어주면 된다.

SSH 패스워드 설정하기

SSH 연결을 통해 원격서버에 넘길거라면 public key를 등록해야한다.

이때 publickey는 원격서버의 password(your_key.pem)를 사용해도 된다. 또는 jenkins 서버에서 공개키를 만들고 이를 원격서버에 저장하고 사용이 가능하다.

Dashboard -> Jenkins 관리 -> 시스템 설정 -> Publish over SSH

ssh server에 원격서버 정보를 추가해주면 된다.

name은 사용할 이름, Hostname은 공인 ip, username은 해당 서버 계정명(root or ubuntu etc...) remote directory는 홈 경로를 써주면 된다. 필자는 ubuntu 라서 /home/ubuntu 였음. 그리고 Adavanced를 누르면 password 설정 부분이 나온다.

  1. 원격서버 패스워드 사용시 해당 키 자체로 접속이 가능하므로
cat key.pem

내용 복사후 

Key에 해당 내용 붙여넣기
  1. 젠킨스 서버에서 공개키 생성하여 복사하기
cd ~
ssh-keygen
cat ~/.ssh/id_rsa.pub

내용 복사후 

Key에 해당 내용 붙여넣기
  1. 원격서버에 키를 저장할 경우
cd ~
mkdir ~/.ssh
vi ~/.ssh/authorized_keys

젠킨스 서버에서 생성한 공개키 복사하여 authorized_keys에 붙여넣기

권한 주기
chmod 700 ~/.ssh
chmod 644 ~/.ssh/authorized_keys

위 세가지 중 1개를 설정하고나서 Test Configuration을 눌러 연결 테스트를 하면 된다.

이제 나머지는 쉽다. 대시 보드에 가서 새로운 item 을 눌러 프로젝트 세팅을 하면 된다.

public 은 그냥 git 주소 연동해주고 git 플러그인 설치하고

git pull request builder 그리고 github hook trigger을 설정해주면 된다.

webhook이란 트리거 역할을 하는것이다.

git에 commit을하면 trigger가 젠킨스에 신호를 보내고 ci/cd가 되는것

build command에

만약 gradle로 빌드된 프로젝트의 테스트를 할거라면

./gradle clean test를 하면 commit 마다 test case를 test 함.

실패시 merge 실패 성공시 merge

개발자는 개발에만 집중하면 된다~~



profile
개발자로 입사했지만 정체성을 잃어가는중... 다시 준비 시작이다..

0개의 댓글