jenkins 배포 및 argocd 배포는 이전 게시물 참고.
jenkins Plugin 설치
- jenkins에서 gitea와 webhook을 사용하려면 plugin을 설치해야 한다.
- Jenkins 관리 -> Plugin으로 이동한다.
- Available plugins를 눌러 아래 목록에 대한 plugin을 install한다.
- Gitea
- Multibranch Scan Webhook Trigger
- Parameterized Trigger
- Delivery Pipeline
- JQuery
jenkins 설정
- jenkins에서 gitea의 webhook을 캐치하려면 계정에 대한 정보가 필요하다.
- 그렇기 때문에 gitea 계정에 대한 정보를 추가한다.
- 프로필 -> 설정으로 이동한다.
gitea 토큰 생성
- 어플리케이션에서 토큰을 생성한다.
Credentials 생성
- Jenkins 관리 -> Credentials -> global의 Add credentials로 이동한다.
- Gitea Personal Access Token으로 변경하고 Token에 대한 정보를 작성하고 생성한다.
Gitea Server 설정
- Jenkins 관리 -> System으로 이동한다.
- Gitea Servers에서 add 버튼을 클릭하여 생성한다.
- gitea의 URL과 전에 생성한 Credentials를 선택하고 저장한다.
Jenkins project 생성
- 메인화면에서 새로운 Item으로 이동한다.
- Multibranch Pipeline을 선택한다.
Branch Sources
- Server: Gitea server를 등록하였기 때문에 자동으로 설정되어 있다.
- Credentials: 전에 생성한 Credentials를 넣는다.
- Owner: 연결하고자 하는 gitea repo의 Username을 넣는다.
- Repository: 생성한 Repository를 넣는다.
Behaviours
- Discover pull request from origin, Discover pull request from forks를 삭제한다.
- Add 버튼을 눌러 Filter by name(with regular expression)을 추가한다.
- Discover Branches: 탐색할 branch를 선택.
- Filter by name: Discover에서 선택한 branch 전략 중 정규표현식을 사용해 대상에 포함할 branch를 재선별.
Scan Multibranch Pipeline Triggers
- Trigger token: Gitea에서 webhook 설정을 할 때 header에 담을 token을 지정해준다.
- 다 입력이 완료되면 여태까지 변경한 내용을 저장한다.
Scan Multibranch Pipeline Log
- 저장을 하고 Scan Multibranch Pipeline Log를 확인하면 아래와 같은 화면이 뜬다.
- Jenkinsfile을 생성하지 않아 뜨는 오류로, Jenkinsfile을 생성해야 한다.
Jenkinsfile 생성
- test하기 위한 jenkinsFile을 생성한 뒤 간단한 pipeline을 작성한다.
gitea push
- 작성이 끝나면 Jenkinsfile를 push 한다.
- repo에 Jenkinsfile이 push 된 것을 확인한다.
git add Jenkinsfile
git commit -m "Update Jenkinsfile"
git push origin main
Scan Multibranch Pipeline Log 확인
- main branch의 변경을 감지하고 Jenkinsfile를 찾았다는 로그를 확인할 수 있다.
Gitea 연동 확인
- Status에 stage1 녹색 버튼을 클릭하여 Logs를 확인한다.
- 아래와 같이 Jenkinsfile에서 Pipeline을 통해 Hello world를 출력한 것을 로그를 통해 알 수 있다.
Gitea webhook 및 Pipeline 구성은 다음 게시물 참고.
728x90
반응형