PostIT

[CI/CD/Jenkins/Git] Jenkins 에서 Github private repository 연결하기 본문

DevOps/Jenkins

[CI/CD/Jenkins/Git] Jenkins 에서 Github private repository 연결하기

shun10114 2017. 7. 29. 14:01

# [CI/CD/Jenkins/Git] Jenkins 에서 Github private repository 연결하기

- 최근 작성일 : 2017년 7월 29일

## 1. Intro

예전부터 Git을 조금씩 사용하였고 오픈소스 프로젝트가 아니라 비공개용으로 만들기시작했습니다.

Github의 무료사용자는 비공개 프로젝트를 만들 수가 없어서, 몇달 전부터 github micro plan ( $7 / mon )을 결제하고 비공개용 프로젝트를 진행 중입니다.


이와 함께 Docker와 Jenkins 등 CI/CD관련하여 공부 중에 있습니다. AWS와 GCP로 넘어가서 공부할 예정이지만, 기존에 운영하던 개인 노트북 서버에 Jenkins와 Docker를 테스트하고 넘어가려고 준비 중에 있습니다.


그 과정에서 여러 자료를 보면서 Jenkins를 설정하고 있었는데, Git Url 입력시 

Invalid Username and Password 라는 에러와 마주쳤습니다.

해당 참고 자료를 보며 더 나아가는 상황이라 반나절 정도를 투자해서 해결했습니다.


원인 : Private repository에 문제입니다. Https로 접근시 이를 유효성에 문제로 판단하는 것 같습니다.


이를 해결하기 위해서는 Jenkins가 사용할 수 있는 SSH-key를 만들어 GitHub에 SSH-key에 등록해주어야 합니다.


## 2. Process

- SSH-KEY 발급

[root@shooney ~] $ su jenkins

[jenkins@ shooney ~] $ mkdir /var/lib/jenkins/.ssh/

[jenkins@ shooney ~] $ cd /var/lib/jenkins/.ssh/
[jenkins@ shooney .ssh] $ ssh-keygen

Generating public/private rsa key pair.

Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa):

Created directory '/var/lib/jenkins/.ssh'.

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /var/lib/jenkins/.ssh/id_rsa.

Your public key has been saved in /var/lib/jenkins/.ssh/id_rsa.pub.

- SSH-KEY GitHub에 입력

[jenkins@ shooney .ssh] cat /var/lib/jenkins/.ssh/id_rsa.pub

ssh-rsa ................

https://github.com/settings/keys 에 SSH-Key를 등록하면 됩니다.

ssh-rsa .....이 형식을 그대로 복사해붙여넣어주세요.


- SSH-KEY 확인

ssh git@github.com

PTY allocation request failed on channel 0

Hi Seolhun! You've successfully authenticated, but GitHub does not provide shell access.

Connection to github.com closed.

마지막으로, clone with Https 주소가 아닌 clone with SHH로 복사하여 복사 값을 Jenkins git url에 넣어주면 문제가 생기지 않습니다. 만약 여기서도 에러가 발생된다면 해당 .ssh나 ssh-key파일들의 권한문제일 확률이 높습니다.


이상입니다.

## 3. Reference

https://help.github.com/articles/connecting-to-github-with-ssh/

Comments