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 설정 부분이 나온다.
cat key.pem
내용 복사후
Key에 해당 내용 붙여넣기
cd ~
ssh-keygen
cat ~/.ssh/id_rsa.pub
내용 복사후
Key에 해당 내용 붙여넣기
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
개발자는 개발에만 집중하면 된다~~