먼저 젠킨스를 설치했다는 가정 하에 글을 작성합니다.
만약 젠킨스 설치가 아직 안되신 분은 아래의 도커에 젠킨스 설치하는 방법을 보시고 그대로 다시 따라하시면 될 것 같습니다!
도커를 사용하지 않는다면 아래 링크를 참고해주세요
Caution!!
VSCODE에서 git branch를 main -> master 로 변경!!
Jenkins에서 빌드 에러 남!!!
1. 젠킨스와 깃허브 연동
먼저 자신의 깃허브로 들어가서 프로필을 클릭하고 Setting 버튼을 클릭합니다
그다음 Devloper settings을 클릭합니다
Personal access tokens를 클릭하고 Generater new token을 클릭합니다.
아래에 해당하는 체크박스를 모두 선택해줍니다.
그리고 생성을 하면 아래와 같이 토큰이 발급됩니다.
이 토큰은 생성된 순간밖에 조회가 되지 않으니 메모장 같은 곳에 기록하는 것을 추천합니다!
젠킨스 홈으로 돌아가서 Jenkins 관리 – 시스템 설정을 클릭합니다
GitHub관련 옵션을 찾고, Add github Sever 버튼을 눌러줍니다.
github 서버의 api를 저장하는 과정인데, Credentials 에서 어떤 계정의 깃허브 서버의 api를 연동할 것인지 설정을 해야합니다. Add – Jenkins를 눌러주세요.
Kind에서 Secret Text를 선택합니다.
- Domain : Global credentials
- Kind : Secret text
- Scope : Global
- Secret : 깃허브에서 발급 받은 토큰 입력
- ID : 임의로 저장할 ID를 입력합니다
- Description : 안적어도 됩니다
추가를 한 뒤, 마지막으로 방금 생성한 정보로 Test Connection을 시도해봅니다. 아래와 같은 문구가 나온다면 정상적으로 연동이 된 것입니다.
이제 젠킨스에서 깃허브의 레포지토리를 연동해 빌드를 할 수 있는 설정이 완료가 되었습니다!
앞에선 Jenkins Credentials에 Github를 등록했고,
여기에서는 Github Repository에 WebHook을 걸어 push가 일어나면 Jenkins에서 Catch할 수 있도록 하는 처리를 진행하겠습니다.
1. 메인 대시보드에서 새로운 Item을 클릭합니다.
2. item 이름을 정하고 Freestyle project를 선택하고 Ok 합니다.
3. General - GitHub project - Project url 작성
레포지토리를 연결할 github url을 작성합니다.
4. 소스코드 관리 - Git - Repository URL - Credentials 작성
Repository URL은 3번과 동일하게 작성해주시고,
처음 Credentials에는 none으로 되어있을텐데 Add 버튼의 Jenkins를 클릭해줍니다.
Domain : Global credentials (unrestricted)
Kind : Username with password
Scope : Global(Jenkins, nodes, items, all child items, etc)
Username : 자기 깃허브 아이디
password : 자기 깃허브 패스워드
아이디 : 위 Credential의 이름입니다. 적당히 지어줍니다.
5. 빌드 유발 - GitHub hook trigger ofr GITScm polling
체크박스에 체크를 해줍니다.
어떤 조건에서 Jenkins 빌드를 실행할지를 설정하는데, GitHub에 코드가 푸쉬되면 빌드를 트리거링 하도록 설정을 하는 과정입니다.
이렇게 하면 Github에서 push가 일어나면 webhook 메세지를 jenkins에 보내주고, 이 webhook 메세지를 받은 jenkins는 Build를 실행합니다.
6. Github 레포지토리 설정
자신의 깃허브 레포지토리로 들어가 Setting을 선택합니다
Webhooks - Add webhook에서 payload URL을 입력해줍니다.
자신이 사용하는 젠킨스 주소:포트를 입력해주면 됩니다.
content type은 application/json으로 해주세요.
이제 Project에 파일을 변경하고 Push하면 Jenkins에서 확인할 수 있습니다.
댓글