우선 Jira와 Gitlab을 어떻게 사용하느냐에 따라 연동하는 방식이 다르다.
- Jira Cloud, gitlab.com 처럼 인터넷에서 바로 사용하는 방식
- 자체 서버에 설치해서 사용하는 방식
여기서는 ,
Gitlab을 자체 서버에 설치하고,
Jira는 클라우드(인터넷)를 사용하는 방식을 소개한다.
따라서 다음 두 연동에 대해 맞는 방식을 선택해야 한다.
- Gitlab -> Jira 연동: Jira가 클라우드(인터넷)이기 때문에, Gitlab 자체 설정으로 문제 없이 연동 가능하다.
- Jira -> Gitlab 연동: gitlab.com(인터넷)이라면 Jira 자체의 무료 앱으로 연동이 가능하지만, 현재 Gitlab이 자체 서버이기 때문에 DVCS 방식을 사용해야 한다.
Jira DVCS connector | GitLab
Gitlab -> Jira 연동
<Gitlab Integration 설정>
Jira와 연동을 원하는 프로젝트 -> Settings -> Integrations -> Jira 클릭
+) 주의
Admin 혹은 Group 단위로 integration할 수도 있지만, 테스트 결과 project 단위 integration만 제대로 연동되는 것을 확인할 수 있었다.
설정은 다음과 같이 한다.
- Enable integration: Active
- Web URL: 연동을 원하는 Jira URL
- Username or Email: Jira 계정 아이디
- Password or API token: Jira 계정의 패스워드를 입력하거나 Google 계정 연동으로 가입했다면 API 토큰을 입력한다.
+) 주의
이후 Jira 티켓에 커밋 웹 링크가 저장되는 등 연동 효과를 제대로 보려면 API token을 입력하는 것이 좋다.
<Jira Cloud API token 확인 방법>
Jira 로그인 -> 우측 상단 사용자 아이콘 -> 계정 설정 -> 보안 -> API 토큰 -> API 토큰 만들기 및 관리 -> API 토큰 만들기
Label은 원하는 토큰 이름을 입력한다.
토큰을 만들었을 때 나오는 값을 따로 보관해둔다. 해당 창을 받으면 다시 토큰 값을 볼 수 없기 때문에, 꼭 처음에 저장해두자.
다시 깃랩으로 돌아가서 토큰 값을 넣는다. 아래 Trigger 부분은 다음과 같이 세팅했다.
하단 ‘Save changes’를 클릭하면 Gitlab -> Jira 연동은 끝이다.
<Gitlab -> Jira 연동 테스트>
테스트는 간단하다. 커밋을 할 때, 원하는 Jira 티켓 번호를 포함해서 커밋 메시지를 작성하면 된다.
git commit -m "#GN-1 Init: gitlab-jira integration test"
이제 깃랩에서 해당 커밋을 확인하면 “GN-1” 부분에서 JIra 링크가 생기는 것을 볼 수 있다.
클릭해보면 Jira Cloud로 이동하고 “GN-1”에 해당하는 티켓을 볼 수 있다.
웹 링크에 커밋 내역이 생기고, 클릭하면 깃랩으로 이동할 수 있다.
커밋과 관련된 comment도 확인할 수 있다.
이 밖에 웹 링크를 통해 merge request 등의 내역도 확인해볼 수 있다.
[참고자료]
GitLab과 JIRA Cloud 연동하기
Jira -> Gitlab 연동
Jira에서 Gitlab을 연동하면 Jira 티켓 세부내역에 ‘Development’라는 항목이 생긴다.
여기서 커밋, 브랜치, 풀리퀘스트 내역을 볼 수 있다.
Gitlab이 자체 서버에 설치한 것이기 때문에 DVCS 방식을 통해 연동한다.
[참고자료]
JIRA Development 패널에 GitLab 연동하기 - Qiita
https://docs.gitlab.com/ee/integration/jira/dvcs.html
그러나, 위 관련자료들을 통해 연동을 시도했지만 다음과 같은 이유로 연동되지 않았다.
- 우선 Jira는 아래 URL을 접속하면서 Gitlab과 연동을 시도한다.
https://gnew-office.tplinkdns.com:19001/login/oauth/callback - 그러나, Jira와 Gitlab을 https로 통신했을 때는 보안이 안되어 있는 서버라고 접속되지 않는다. 현재 Gitlab 서버가 http이기 때문에 어찌보면 당연하다.
- 그래서 1번 링크를 http로 변경하면 접속은 된다. 그러나 Jira에서 아래 링크와 같은 오류가 생기는데, 요약하자면 Gitlab 서버의 보안 인증서를 Jira에 등록하라는 뜻이다.
https://docs.gitlab.com/ee/integration/jira/dvcs.html#ssl-and-tls-problems - Jira에서 인증서 등록 관련 자료를 찾아보니 해당 방법은 결국 두 https 간의 연결을 전제로 하고 있다.
https://confluence.atlassian.com/kb/how-to-import-a-public-ssl-certificate-into-a-jvm-867025849.html - 따라서, gitlab 서버가 https 인증을 지원하지 않는다면 접속이 힘들 것 같다고 결론지었다.
+) Gitlab -> Jira로도 웹링크를 통해 커밋, 리퀘스트 내역을 볼 수 있으니 충분하다고 생각한다.
'devops > cicd' 카테고리의 다른 글
Jenkins - Slack 연동 (0) | 2022.08.19 |
---|---|
[CI/CD] Gitlab + Jenkins + Nginx + Docker + AWS EC2 - 무중단 배포 (4) | 2022.08.18 |
이얌 AWS 클라우드 아키텍처 - Jenkins, CodeDeploy Blue Green 배포, Auto-Scaling, Load-Balancer (4) | 2022.01.09 |