Hook executed successfully but returned HTTP 403 Error 오류
오류 상황
GitLab과 Jenkins 연동 시 다음 이미지와 같이 Hook executed successfully but returned HTTP 403 Error 가 발생하였다.
Git push 이후 Jenkins를 자동으로 빌드시켜주는 webhook 등록을 하려 하였는데, 이를 등록하고, 테스트를 해보는데 아래와 같은 오류가 지속적으로 발생되었다.
맨 처음 Webhooks를 등록할때 url에 어떤 값을 넣어야 하고 Secret token은 Jenkins에서 어디에서 생성해서 입력해야 하는지 를 알지 못하였다. 위의 오류는 내가 Jenkins에 URL을 제대로 등록해주지 않아 발생한 오류였다.
Jenkins의 프로젝트 URL을 등록해주어야 하는데, 이 프로젝트 URL의 값이 어디있는지 찾지 못하여 현재 Jenkins 프로젝트 주소를 넣어주었었다.
해결 방법
Jenkins 프로젝트 > 구성 > 빌드 유발로 이동한다.
Jenkins 빌드 유발 설정에서 Build when a change is pushed to GitLab webhook URL : 부분을 체크해주고 뒤의 URL을 복사해준다. 복사 후 GitLab 프로젝트 > Settings > Webhooks 로 접속하여 복사한 url주소를 하단 이미지의 표시된 부분에 넣어준다.
Jenkins -> GitLab Secret token 발급 및 등록방법
Jenkins 프로젝트 > 구성 > 빌드 유발
빌드 유발의 설정들을 내리다 보면 하단의 고급 표시가 있다. 눌러준다.
고급을 누른 후 하단으로 내리다보면 Secret token이 나오고
Generate 버튼을 클릭하면 토큰을 발급받게 된다. 이를 복사한다.
복사한 토큰을 아래의 GitLab 프로젝트 > Settings > Webhooks 설정에 Secret token 부분에 넣어주면 된다.
나는 Trigger는 push events 만 체크하였다. URL과 Secret token과 설정할 트리거를 선택하고 Add webhook
버튼을 눌러준다.
그러면 내가 등록한 Project Hooks 가 아래 이미지처럼 등록되게 된다.
Test > push events를 눌러 테스트를 수행해 볼 수 있다.
화면 상단에 다음 이미지와 같이 나오면 성공적으로 테스트를 완료하였고, push Event 발생 시 정상적으로 Jenkins에서 빌드되는 것도 확인하였다.
'개발 > 개발지식' 카테고리의 다른 글
객체 지향 프로그래밍(OOP) (0) | 2022.12.15 |
---|---|
[React] React 반응형 레이아웃 사용하기 + Typescript (0) | 2022.12.09 |
Jenkins와 CI/CD (0) | 2022.11.23 |
GraphQL이 무엇일까? (0) | 2022.11.11 |
[환경설정] Git 설치하기 (windows) (0) | 2022.10.14 |
댓글