gittea 와 jenkins 연결 / gogs commit 시 jenkins 구동 / build 시작 / ci / commit 시 자동 시작
jenkins 에서 gittea gogs webhook 사용법
간략하게 설명하면 다음 2가지를 하면 된다.
- git repository 에서 commit 이 되면, commit 이 됐다는 신호를 webhook 방식으로 jenkins 에 보내주면 된다.
- 그리고 jenkins 에는 webhook 을 사용할 것이니 받을 준비하고 있어라라고 설정해주면 된다.
위 이야기를 좀 더 자세히 해보자.
webhook 설정
각 regpository 마다 webhook 설정 UI 가 조금 다르지만, gittea는 github 와 유사하다.
- “repository –> Settings –> Webhooks –> Add Webhook –>
Gogs” 을 하면 된다.
- Gittea 를 택해도 된다. request 형식만 맞으면 상관없다.
- Target URL : jenkins 의 어느 job 에 보낼 것인지를
지정해 준다.
http://<jenkins_url>/gogs-webhook/?job=myfolder_name/myjob_name
- ref.1 에서 보면, gogs-webhook 이라는 url 로 request 를 보내야 한다.
- Secret
- 암호를 적어준다. 이 암호는 jenkins 에서 ‘Gogs Webhook’ 설정시 사용하게 된다.
- Trigger On
- Push Events 를 선택(이것이 아마도 git push 가 발생할 때 webhook 을 보내겠다는 이야기일 것이다.)
- Branch filter
- 어떤 branch 의 push 가 발생했을 때 webhook 을 보낼지 정한다.
- 예를 들어, master 로 하면 master branch 에 push 가 발생했을 때 webhook 을 jenkins 로 보낸다는 이야기다.
Jenkins 설정
젠킨스에는 Gogs | Jenkins plugin 이 설치돼 있어야 한다.
그러면 job 을 생성할 때 ‘Gogs Webhook’ tab 이 보인다.
- ‘Use Gogs secret’ 에 check 하고
- Secret 에 gittea 에서 설정한 암호를 넣자
test
이제 master branch 에 commit 을 하고 push 를 하면 jenkins 에 신호가 갈 것이다.
참고로, 여기까지는 trigger 를 보내는 것이지, 실제로 build 를
일으키거나 하지 않는다. trigger 가 발생된 이후 작업은 각자가
젠킨스(jenkins)에서 설정하면 된다. 그래서 현재 설정은 master branch 가
push 됐을 때 신호가 가지만, 그 시점에 build 는 develop 등 다른 branch 를
해도 상관없다. 그리고 아마도 Build Triggers 부분에서 'Build when
a change is pushed to Gogs' 에 check 를 해줘야 build 가 될
것이다.
댓글 없음:
댓글 쓰기