Jenkins로 CI/CD를 구현하면서 보통 GitHub과 연동하여 pipeline과 Webhook을 설정하게 된다. 이 과정에서 GitHub 인증 절차가 필요한 경우라면, Jenkins에서 별도의 credential 설정이 필요하다. 이 글에서는 해당 인증 절차를 어떻게 진행하는지 알아보도록 할 것이다.
GitHub Access Token 생성
먼저, GitHub에서 access token을 생성해야 한다. GitHub에 로그인한 후, 다음 과정을 통해 token을 생성하는 화면으로 이동하자.
우측 상단의 사용자 프로필 클릭 -> "Settings" 클릭 -> "Developer settings" 클릭 -> "Personal access tokens" 선택 후 Tokens (classic) 클릭



다음으로, 위 화면에서 "Generate new token" -> "Generate new token (classic)" 을 선택하면 아래와 같이 token 생성 화면으로 이동한다. 해당 화면에서 token 생성을 위한 설정을 진행하자.

- token 이름을 입력한다.
- token의 유효기간을 지정한다.
- Jenkins에서 GitHub에 접근하여 checkout을 진행해야 하므로 repo 권한을 체크한다.
- Webhook을 통해 CI/CD를 자동화하기 위해서 repo_hook 권한을 체크한다.
위와 같이 설정을 끝낸 후 token을 생성하면 아래와 같이 token이 생성된다. 해당 token은 반드시 바로 복사하여 별도로 보관해야 한다. 그렇지 않으면 token을 다시 생성해야 한다.

Jenkins Credential 설정
위에서 생성한 token을 Jenkins의 credential로 등록해야 한다. Jenkins 메인 화면에서 "Jenkins 관리" -> "Credentials" 로 이동하자. 그리고 Credentials 화면에서 "(global)" 버튼을 클릭하여 credential 추가 화면으로 이동하자.


그 다음, 우측 상단의 "Add Credentials" 버튼을 클릭하자.

아래 화면이 나오면 "Username with password" 항목을 선택 후, 다음과 같이 필요한 설정을 입력하자.

- Username: GitHub username을 입력
- Password: GitHub에서 생성한 access token을 입력
- ID: 해당 credential을 식별할 수 있도록 ID 입력
2021년 8월 13일 부터 GitHub 비밀번호를 사용한 인증은 불가능하게 되었다. 따라서, 반드시 이전 과정에서 access token을 생성하여 password로 입력해야 한다.
Credentials 등록
이제 GitHub access token을 등록한 credential을 pipeline에 등록해보자. Jenkins 메인 화면으로 이동하여 "새로운 Item"을 클릭하여 아래와 같은 화면으로 이동하자.

생성할 item의 이름을 입력한 후, "Pipeline"을 선택하고 아래의 "OK" 버튼을 통해 item을 생성하면 아래와 같이 pipeline 설정 화면으로 이동하게 된다. 맨 아래의 "Pipeline" 항목으로 이동하여 Repository URL과 방금 생성한 credential을 선택하여 pipeline 설정을 완료하면 된다.

참고
젠킨스(Jenkins) GitHub Webhooks 연동
<br /><br />
junhyunny.github.io
'CI&CD' 카테고리의 다른 글
[CI/CD] Jenkins를 활용하여 CI/CD 구축하기 2 - CD 구축 (0) | 2024.09.09 |
---|---|
[CI/CD] Jenkins를 활용하여 CI/CD 구축하기 1 - Jenkins 설치 및 CI 구축 (0) | 2024.09.05 |
[CI/CD] CI/CD란 무엇인가? (0) | 2024.09.03 |
Jenkins로 CI/CD를 구현하면서 보통 GitHub과 연동하여 pipeline과 Webhook을 설정하게 된다. 이 과정에서 GitHub 인증 절차가 필요한 경우라면, Jenkins에서 별도의 credential 설정이 필요하다. 이 글에서는 해당 인증 절차를 어떻게 진행하는지 알아보도록 할 것이다.
GitHub Access Token 생성
먼저, GitHub에서 access token을 생성해야 한다. GitHub에 로그인한 후, 다음 과정을 통해 token을 생성하는 화면으로 이동하자.
우측 상단의 사용자 프로필 클릭 -> "Settings" 클릭 -> "Developer settings" 클릭 -> "Personal access tokens" 선택 후 Tokens (classic) 클릭



다음으로, 위 화면에서 "Generate new token" -> "Generate new token (classic)" 을 선택하면 아래와 같이 token 생성 화면으로 이동한다. 해당 화면에서 token 생성을 위한 설정을 진행하자.

- token 이름을 입력한다.
- token의 유효기간을 지정한다.
- Jenkins에서 GitHub에 접근하여 checkout을 진행해야 하므로 repo 권한을 체크한다.
- Webhook을 통해 CI/CD를 자동화하기 위해서 repo_hook 권한을 체크한다.
위와 같이 설정을 끝낸 후 token을 생성하면 아래와 같이 token이 생성된다. 해당 token은 반드시 바로 복사하여 별도로 보관해야 한다. 그렇지 않으면 token을 다시 생성해야 한다.

Jenkins Credential 설정
위에서 생성한 token을 Jenkins의 credential로 등록해야 한다. Jenkins 메인 화면에서 "Jenkins 관리" -> "Credentials" 로 이동하자. 그리고 Credentials 화면에서 "(global)" 버튼을 클릭하여 credential 추가 화면으로 이동하자.


그 다음, 우측 상단의 "Add Credentials" 버튼을 클릭하자.

아래 화면이 나오면 "Username with password" 항목을 선택 후, 다음과 같이 필요한 설정을 입력하자.

- Username: GitHub username을 입력
- Password: GitHub에서 생성한 access token을 입력
- ID: 해당 credential을 식별할 수 있도록 ID 입력
2021년 8월 13일 부터 GitHub 비밀번호를 사용한 인증은 불가능하게 되었다. 따라서, 반드시 이전 과정에서 access token을 생성하여 password로 입력해야 한다.
Credentials 등록
이제 GitHub access token을 등록한 credential을 pipeline에 등록해보자. Jenkins 메인 화면으로 이동하여 "새로운 Item"을 클릭하여 아래와 같은 화면으로 이동하자.

생성할 item의 이름을 입력한 후, "Pipeline"을 선택하고 아래의 "OK" 버튼을 통해 item을 생성하면 아래와 같이 pipeline 설정 화면으로 이동하게 된다. 맨 아래의 "Pipeline" 항목으로 이동하여 Repository URL과 방금 생성한 credential을 선택하여 pipeline 설정을 완료하면 된다.

참고
젠킨스(Jenkins) GitHub Webhooks 연동
<br /><br />
junhyunny.github.io
'CI&CD' 카테고리의 다른 글
[CI/CD] Jenkins를 활용하여 CI/CD 구축하기 2 - CD 구축 (0) | 2024.09.09 |
---|---|
[CI/CD] Jenkins를 활용하여 CI/CD 구축하기 1 - Jenkins 설치 및 CI 구축 (0) | 2024.09.05 |
[CI/CD] CI/CD란 무엇인가? (0) | 2024.09.03 |