SCM & CI,CD

[Jenkins]Git 연동

  • -
반응형

예전에 Git - Jenkins 연동에 관한 내용을 포스팅한 적이 있습니다. 당시에는 URL을 이용한 방식을 소개했었는데 현재 회사에서는 SSH를 통해 연결해 사용하고 있습니다.

보안상 SSH를 이용한 방식이 더 권장되고 있기 때문에 내용을 정리해봤습니다. Jenkins와 Git 플러그인은 설치되었다는 가정하에 진행됩니다.

※ 테스트 환경
  • Linux
  • GitLab
  • Jenkins

1. SSH 키 생성

먼저 젠킨스 폴더가 위치한 경로로 접속합니다. 그리고 .ssh 폴더를 생성해줍니다.

cd /var/lib/jenkins

mkdir .ssh

 

ssh-keygen 명령어를 이용해 ssh 키를 생성합니다.

cd .ssh

ssh-keygen -t rsa -f ./test-project

그러면 아래와 같이 비밀번호를 입력하라는 문구가 나오는데 이 때는 전부 엔터 입력 후 넘어갑니다.

이후에 파일 목록을 조회하면 test-project, test-project.pub 파일이 생긴 것을 확인할 수 있습니다.

개인키는 노출이 되면 안되는 키입니다. rsa 암호화는 공개키를 이용해 암호화된 정보를 개인키를 통해 복호화하는 방식입니다.

  • test-project : 개인키
  • test-project.pub : 공개키

 

2. 공개키 등록

github 또는 gitlab 접속 후 해당 프로젝트 - Settings - Repository에 들어갑니다.

Deploy Keys 부분을 열어 Key 영역에 test-project.pub 내용을 입력합니다.

 

3. 개인키 등록

젠킨스 접속 후 Jenkins 관리 - Manage Credentials에 들어갑니다.

Domains - global - Add credentials를 클릭합니다.

개인키를 복사해 Private Key 영역에 Enter directly 클릭 후 붙여넣습니다.

아래 각 항목이 의미하는 것은 다음과 같습니다.

  • Kind : SSH Username with private key
  • ID : 선택사항으로 미입력시 랜덤 문자가 생성됩니다.
  • Description : 인증서 관련 설명을 작성합니다.
  • Username : 인증서 생성 후 리스트에 보여지는 이름입니다.

아래와 같이 생성된 인증서를 확인할 수 있습니다.

 

4. Repository 연결

연결하고자 하는 Repo에 Clone을 눌렀을때 나오는 Clone with SSH 주소를 복사합니다.

 

젠킨스로 돌아와 소스 코드 관리에 Git을 선택하고 해당 주소를 넣어줍니다.

Credentials 미선택시 아래와 같은 에러가 출력됩니다.

3에서 생성한 인증서를 선택해줍니다. 에러가 사라진다면 성공입니다.

반응형

'SCM & CI,CD' 카테고리의 다른 글

[GitHub Actions]war 파일 빌드/배포하기  (0) 2024.10.23
[Slack]Jenkins + Slack 연동  (0) 2024.10.08
[Jenkins]SFTP를 이용해 배포하기  (0) 2022.08.11
[Jenkins]Linux 환경 젠킨스 설치  (0) 2021.12.20
.gitignore 관리하기  (0) 2020.12.22
Contents

포스팅 주소를 복사했습니다.

이 글이 도움이 되었다면 공감 부탁드립니다.