본문 바로가기

Jenkins

[Jenkins ] Jenkins와 Github ssh 연동하기

젠킨스와 Github 연동시 사용자명과 비밀번호 인증방식은 보안상 추천하지 않는다고 한다.

테스트로 사용하는건문제가 없겠지만 실제 서비스에서는 그렇게 사용하는 회사는 없다고 한다

 

이번 시간에는 Jenkins와 Github 간 ssh 연동 방식을 어떻게 하는지 알아보자

 

키 생성

현재 실행중인 젠킨스 사용자를 확인 하자 

ps aux | grep jenkins

 

설정 하지 않으면 jenkins 사용자로 실행한다.

젠킨스가 jenkins 사용자로 실행 중인것을 보았다면 현재 사용자를 jenkins로 전환 해주자

sudo -u jenkins /bin/bash

전환이 잘 되었다면 jenkins 밑에 디렉토리를 하나 생성하고 이동 해주자

mkdir /var/lib/jenkins/.ssh
cd /var/lib/jenkins/.ssh

여기서 ssh 키를 생성해주면 된다.

ssh-keygen -t rsa -f /var/lib/jenkins/.ssh/github_ansible-in-action

비밀 번호는 모두 입력하지 말고 바로 Enter로 넘어가주자

 

다 생성이 되었다면 ls -al로 아래와 같이 비밀키/공개키가 잘 생성되었는지 확인 해주자

잘 생성된 것을 확인 했다면 Github로 이동해주자

 

Github

젠킨스로 연동하고 싶은 깃허브의 setting 페이지로 이동하고 좌측에 있는 Deploy keys를 누른 다음 우측 상단에 있는 Add deploy key를 클릭해주자

 

아래의 빨간 박스 안에 키를 입력해야하는데 방금 만든 공개키를 입력 해주자

cat /var/lib/jenkins/.ssh/github_ansible-in-action.pub

공개키를 볼 수 있다

아래와 같이 공개키를 Key 입력하고 Title을 적어주고 생성 완료 하자

잘 등록된 것을 볼 수 있다.

 

이제 젠킨스로 돌아가서 비밀키 등록을 하자

 

젠킨스

젠킨스 메인 화면에서 Credentials -> System을 누르고 오른쪽에 Global credentials로 이동해주자

Global credentials로 이동한 다음에 아래와 같이 Add Credentials를 클릭 해주자

이제 비밀키를 등록하기 위해 젠킨스 서버에 있는 비밀키를 복사하자 

cat /var/lib/jenkins/.ssh/github_ansible-in-action

복사를 했으면 아래와 같이 입력해주자

  • kind
    • 인증 방식을 선택한다
    • 현재 비밀키 방식을 선택해야 Github과 공개키/비밀키로 인증이 가능하다
  • Username
    • 각 젠킨스 Job에서 보여줄 인증키 이름이다
  • Private Key
    • 조금전에 복사한 비밀키를 그대로 사용하였다.

젠킨스 설정도 다 끝났다

실제로 ssh 연동이 잘 되는지 확인 해보자

 

테스트

 

Git이 설치가 안되어 있다면 Git 먼저 설치를 해주자

이제 젠킨스에서 새로운 Item을 선택해주자

FreeStyle 프로젝트를 생성하자 필자는 이름은 Git 이라고 하겠다

 

Github의 코드를 가져올 수 있는지 소스 코드 관리에 입력해보자

 

  • Repository URL에는 공개키를 등록한 저장소 URL을 등록한다
  • Credentials에 조금 전에 등록한 젠킨스 인증 Username을 선택한다
  • Branch는 본인이 원하는 Branch를 선택하면 된다 필자는 master로 등록하겠다.

다 설정이 되었다면 저장후 Build를 해보자

 

 

아래와 같이 빌드가 된것을 볼 수 있다.

'Jenkins' 카테고리의 다른 글

[Jenkins] Jenkins 환경 설정  (0) 2020.04.04
[Jenkins] Jenkins 자동 빌드  (0) 2020.04.04
[Jenkins] Jenkins GitHub server 연동  (0) 2020.04.04
[Jenkins ] Jenkins email로 알림 받기  (0) 2020.04.04
[Jenkins]EC2에 Jenkins 설치하기  (0) 2020.02.21