SSH를 이용해 Github의 프로젝트를 jenkins와 연동하는 방법에 대해 알아봅니다.

 

 

 

0. 사전 준비

 

다음 글을 참고해 Jenkins를 미리 준비합니다: 2020/01/17 - [Linux] - [Ubuntu] CI/CD를 위한 Jenkins 설치

 

 

 

1. 키파일 생성

 

Jenkins가 설치되어있는 서버에서 키 파일을 생성해야 합니다. 다음 명령어를 통해 키 파일을 생성합니다.

 

> ssh-keygen -t rsa -f smoh-jenkins

 

위 명령어를 실행하면 두 개의 파일이 생성됩니다. 

 

 

확장자가 없는 smoh-jenkins는 개인키 파일이고 확장자가 있는 smoh-jenkins.pub는 공개키 파일입니다.

 

 

 

 

2. Jenkins에 개인 키 등록.

 

먼저 Jenkins에 개인키를 등록합니다.

 

 

위의 그림과 같이 Jenkins > Credential > System > Global credential(unrestricted) 또는 자신이 생성한 시스템으로 이동해 Add credential을 클릭합니다.

 

종류는 SSH Username with private key를 선택합니다. ID, Desc, Username은 모두 Jenkins에서 사용되는 값이므로 임의의 값을 입력합니다. 

 

PrivateKey는 Enter directlt 라디오 버튼을 누른 뒤 생성한 개인키 파일 내부의 값을 모두 입력해 줍니다. 만약 키를 생성할 때 Passphrase를 입력했다면 Passphrase에 입력한 값을 넣어줍니다.

 

 

정상적으로 Jenkins에 새 Credential이 생성되었습니다.

 

 

 

3. Github Project에 공개키 등록.

 

이제 깃헙 프로젝트에 생성한 공개키를 등록할 차례입니다. 

 

 

위 그림과 같이 Github > Project > Settings > Deploy keys > Add deploy key를 클릭합니다.

 

Title은 임의로 명명합니다. Key에는 위에서 생성한. pub 확장자를 가진 공개키의 내용을 모두 입력합니다. Allow write access는 필요에 따라 체크합니다.

 

 

정상적으로 깃헙 프로젝트에 공개키가 등록된 것을 확인할 수 있습니다.

 

 

 

4. 소스 코드 관리 설정.

 

이제 젠킨스와 깃헙의 리포지토리를 연동해 보겠습니다. 젠킨스에 새로운 아이템을 생성해 구성 페이지에서 소스 코드 관리로 이동합니다. 그리고 평소대로 리포지토리 주소를 입력한 후 Credential에 우리가 생성한 Credential을 고릅니다.

 

 

유저 이름과 암호가 다르다는 에러가 발생하네요. 우리는 일반적인 깃헙 로그인 계정을 사용해 Credential을 생성하지 않고 키 파일로 생성했기 때문에 일반적인 HTTPS 방식을 사용할 수 없습니다.

 

깃헙 프로젝트로 이동해 Clone or download에서 Use SSH를 선택하면 나오는 주소를 확인합시다.

 

 

이 값을 다시 젠킨스의 Repository URL에 넣어보세요.

 

 

에러 없이 정상적으로 연동되는 것을 확인할 수 있습니다.

 

 

 

 

 

VisualStudio와 GitHub 연동하기

 

VisualStudio를 GitHub에 연동하는 방법을 알아봅니다.

 

 

 

0. GitHub 원격 저장소 생성 및 VS2019 설치

 

GitHub에 로그인한 후 사용할 원격 저장소를 미리 생성해 둡니다.

 

 

사용할 VS를 준비합니다. 해당 예시에서는 VS2019 CE버전을 사용하였습니다.

 

 

 

 

1. GitHub Extension 설치

 

VS2019를 킨 후 확장 -> 확장 관리를 연 후 "GitHub Extension for Visual Studio"를 설치합니다.

 

다운로드 버튼을 클릭한 후 VS2019를 끄면 자동으로 설치를 시작합니다.

 

 

 

2. 저장소 복제

 

재시작 후 "팀 탐색기" 창을 열어보면 "호스티드 서비스 공급자"에 "GitHub"이 추가된 것을 확인할 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

"연결..."을 클릭해 GitHub에 로그인 합니다. 성공적으로 연결이 되면 "팀 탐색기"에 "GitHub"이 추가됩니다.

 

이미 Git 원격 저장소가 있다면 "복제"를, 원격 저장소를 새로 만들려면 "만들기"를 클릭합니다. 

 

 

 

 

 

 

 

 

 

사용할 저장소를 선택 한 후 로컬 경로를 지정합니다. 

이후 "복제"버튼을 클릭합니다.

 

 

 

복제에 성공하면 "팀 탐색기"에서 좌측과 같은 화면을 확인할 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. 솔루션 생성 및 커밋

 

처음 생성된 저장소를 복제한 경우 빈 폴더만 생성됩니다.

팀 탐색기 -> 솔루션 -> 새로 만들기를 선택해 솔루션을 생성합니다.

 

솔루션을 생성한 후 "프로젝트"의 "변경 내용"을 선택합니다.

 

 

 

 

 

커밋 메시지를 입력합니다. 하단의 변경내용을 확인한 후 "모두 커밋" 버튼을 클릭해 커밋 작업을 수행합니다.

 

만약 해당 변경 내용을 바로 푸시하고 싶다면 "모두 커밋" 버튼의 삼각형을

눌러 "모두 커밋 후 푸시"를 선택합니다.

 

 

 

 

 

 

이후 GitHub을 확인하면 정상적으로 푸시된 것을 확인할 수 있습니다.

 

 

 

 

+ Recent posts