본문 바로가기

분류 전체보기44

6. 게릿 리뷰 웹훅 (3/3) 이제 포스트 메시지를 이쁘게 채워야 할 차례다. 기본 포맷은 아래처럼 했다. 리뷰 owner 리뷰 주소 커밋 메시지 그러면 이렇게 나온다. 뭐... 나름... 뭐... 하지만 다시봐도, 정말 개발자 스럽다. 이것 자체도 안이쁘지만, 문제는 여러개 겹치면 아래처럼 된다. 안이쁨을 넘어서 알아보기조차 어려워졌다. 이래서는 안될것 같았다. (흔히 말하는 가독성이 너무 떨어진다) 방법이 있을꺼야. 슬랙을 뒤져보았다. 그래.. 없을리가 없다. ↗ An overview of message composition 여기에서 슬랙 메시지에 대한 전반적인것을 알 수 있다. 그리고 그 밑에 바로 내가 원하는 예쁜 메시지 포맷을 위한 가이드가 친절하게 있다. ↗ Rich message layout 여기에 더 고급 기능도 있었다.. 2023. 10. 18.
7. Hook 할때 커밋 메시지 가져오기 이제 마지막이다. 여기까지 왔으면 거의 다 온거다 ^^ 앞에 포함된 내용이지만 이 부분은 따로 떼서 설명할 필요가 있다. (comment-added.sh 에 이미 코딩된 내용) 슬랙에 포스팅할때 커밋 메세지를 함께 넣어줘야 한다. 그런데 이 커밋 메세지를 가져오는게 생각보다 쉽지 않았다. 그 과정을 살펴보자. 우선 우리가 작성한 hook 은 comment-added 다. 이 hook 은 comment 가 add 될때 트리거 되기때문에 거기에 해당하는 정보들만 있다. 공식적으로 이 hook 에서 알수 있는 정보들은 아래와 같다. https://gerrit.googlesource.com/plugins/hooks/+/refs/heads/master/src/main/resources/Documentation/h.. 2023. 10. 18.
시작하며 20년동안 운좋게도 대기업에서 SW 개발을 했다. 계속 다닐 수도 있었지만, 우물안 개구리로 썩어 죽을것 같아 2023년 2월28일을 마지막으로 20년동안 정들었던 대기업을 내발로 나왔다. 그리고, 아주 조그마한 비SW 회사에 입사를 했다. 너무나 낯선 환경에 처음엔 너무 버거웠지만, 지금은 소소한 일상을 소중하게 간직하며 즐겁게 살아가고 있다. 많이는 안쓰겠지만 (내 성격상) SW 기술적인 정보부터 실짱의 넋두리까지 늘어놓는 공간으로 이 공간을 시간날때마다 채워나갈 계획이다. 2023. 10. 18.
1. Gerrit <-> Jenkins 연동 ** Jenkins 가 무엇이고 , 왜 필요하고, 왜 게릿과 연동해야 되는지는 젠킨스 페이지([젠킨스 (Jenkins)] - Jenkins 란?)에서 자세히 다뤄보겠다. 여기서는 게릿,젠킨스를 다 안다고 가정한다. ** 게릿 코드리뷰에 Jenkins 가 더해진 workflow 는 아래와 같다. 코드 리뷰 과정에서 CI/CD 를 통한 코드의 안정성 확보는 필수다. (사실 이 부분때문에 AriServer 를 구축하게 되었다) 이 장에서는 Jenkins 에서 Gerrit review 에 올라온 수정사항을 빌드해서 해당 리뷰에 Verified+1/-1 점을 주는 과정에 대해서 자세히 알아보자. 이 페이지의 처음부터 끝까지 가슴에 새겨야할 한 문장이 있다. ***Jenkins 는 Gerrit 입장에서는 또다른 개.. 2023. 10. 17.
2. Gerrit <-> Jira 연동 Jira 는 이슈 관리 시스템이다. (이것도 별도 페이지에서 자세히 다뤄보자) 많은 SW 회사들이 Atlassian 사의 Jira 시스템을 이용해서 프로젝트 관리를 하고 있다. 참고로 Jira 와 Github 는 쉽게 연동이 가능하다. 지라 클라우드(JIRA Cloud) 와 깃허브(github) 연동하기 이 둘을 연동한다는 의미는 아래와 같다. 1. Jira 의 개별 이슈에 가서 보면 Gerrit 변경을 알 수 있다. 2. Gerrit 리뷰시에 Jira에 해당 이슈가 있는지 확인하고 바로 링크를 걸 수 있다. 차근차근 알아보자. (Tistory 는 2depth 까지만 카테고리를 허용한다. 이건 뭐.... 그래서 글 분류하는게 매우 어렵다. 여기에서 추가 하소연 -> [넋두리] - 티스토리 개불편] [Ge.. 2023. 10. 17.
3. Jira 에서 Gerrit 연동 결론적으로 돈이 든다. Github 는 Jira 에 공짜 앱(플러그인) 이 있지만, Gerrit 은 없다. 그나마 가장 좋은 앱이 Git Integration for Jira Cloud 기능은 참 좋다. 유료 버전 결제하면 자세히 포스팅 하겠다. 4. Gerrit 에서 Jira 연동 1/3 - Jira API 토큰 발급 2023. 10. 17.
4. Gerrit 에서 Jira 연동 1/3 - Jira API 토큰 발급 Gerrit 에서 Jira 에 접근하기 위해서는 일반 [ user id+password ]의 조합으로 접근하는게 아니라 [ user id + API 토큰 ]의 조합으로 접근해야 한다. 이걸 몰라서 정말 많이 헤맸다. 게릿에서 Jira 를 접근하기 위해서 제일 먼저 할일은 Jira 에서 API 토큰을 발급받는 일이다. Jira API 토큰 발급 1. [Jira → 프로필 → 계정관리 → 보안 → API 토큰 → API 토큰 만들기 및 관리] 로 이동 2. 토큰을 만드는 팝업이 뜨고 자유롭게 이름을 만들고 [만들기] 클릭 3. 토큰 복사 바로 토큰이 발급되고 [복사] 를 하게 해준다. ※이 단계 외에는 복사할수가 없으니 여기서 반드시 복사해 두어야 한다. 단계를 마치면 잘 생성되어 있다. 복사한 토큰을 로컬.. 2023. 10. 17.
5. Gerrit 에서 Jira 연동 2/3 - Jira configuration 셋업 1. 플러그인 설치 Jira 를 연동하기 위해서는 2개의 플러그인이 필요하다. 플러그인 git 에서 its-base / its-jira 를 찾는다. 두개를 빌드하고 설치한다. (플러그인의 빌드 및 설치는 플러그인 페이지 참조 : [곧 포스팅 하겠다, 이걸 먼저 했어야 되는데..... 쩝....]) 2. configuration 셋업 Jira 설정을 위해 gerrit 초기화 실행 gerrit.war init -d /opt/gerrit/gerrit 초기 단계는 다 필요없으니 계속 패스하자. 1번 플러그인을 설정하면 아래처럼 Jira 설정하는 단계가 자동으로 추가가 된다. Jira connectivity 설정 Jira URL : 말그대로 Jira URL 을 넣는다. 우리는 https://aribio.atlas.. 2023. 10. 17.
6. Gerrit 에서 Jira 연동 3/3 - Gerrit 커밋 메시지에 Jira 이슈 hyperlink 시키기 Gerrit 에서 Jira 를 연동시킨다는것이 어떤 의미일까? 결과적으로 Gerrit 의 어딘가에서 Jira 로 바로 갈 수 있는것을 의미한다. 더 정확히는 Gerrit 의 웹 리뷰에서 Jira 의 해당 issue 로 링크가 걸려야 한다. 이를 위해서는 2가지 단계를 거친다. 1. 커밋 메시지에 강제된 Jira issue id 가 Jira 에 존재하는지 유효성 체크 2. 유효하다면 , 게릿의 커밋 메시지 부분을 Jira issue 에 대한 hyperlink 로 적용 이것을 해주는게 its-jira 플러그인의 역할이다. 그래서 Gerrit CI 빌드에서 its-jira.jar 를 다운받아 적용했다. (이미 빌드된 산출물을 이용한 플러그인 적용은 [Gerrit forge] 페이지 참조 : [Gerrit/Ge.. 2023. 10. 17.
1. Gerrit 설치 이제 Gerrit 을 설치해보자. 자세한 설명은 NAVER 형님들이 잘 해 놓으셨다. (Gerrit을 이용한 코드 리뷰 시스템 - 코드 리뷰 시스템 설치 ) (GitHub 처럼 Gerrit 도 GerritHub 가 있다. Gerrit 을 특별히 customizing 할 필요가 없는 상황이라면 GerritHub 로도 코드리뷰는 충분히 할 수 있다. 다만 내꺼가 아니다보니 내 상황에 맞게 지지고 볶지를 못해 안타까움을 느끼게 된다. 그런 상황이라면 이제부터 따라가는거 추천) 항상 모든 셋업이 그렇듯이, 설치 자체는 큰 어려움이 없다. 설치 후 각종 셋팅을 셋업하는것이 우리를 힘들게 한다. 추후 서버가 날라갈것을 대비해 백업 및 복습 차원에서 기록을 남겨보자. 1. 사전 준비 Git 설치 : Gerrit 은 .. 2023. 10. 17.
2. Gerrit Web 설정 서버에 게릿을 설치까지 했다. 설치를 했다는 의미는 게릿이라는 자바 웹 프로그램을 서버에 설치해서 로딩(서버 브라우저에서 localhost 로 접속) 시켰다는 의미다. 이제 이 게릿을 다른 PC에서 웹주소로 접근가능하게 만들어야 한다. (웹 페이지이므로) 이 부분은 게릿에 대한 지식보다는 Web Server 에 대한 지식이 필요하다. 방화벽(firewall)이 뭔지, Proxy 가 뭔지, http(s) 가 뭔지, DNS 가 뭔지, …. 이런 사전 지식이 아무것도 없었던 나의 삽질. 아래 두개 사이트를 메인으로 보면서 삽질했다. (얼마나 많은 사이트를 봤는지 헤아릴수가 없다…) NAVER 형님들 : Gerrit을 이용한 코드 리뷰 시스템 - 코드 리뷰 시스템 설치 Whatman 이라는 고수 : Gerrit.. 2023. 10. 17.
3. Gerrit 사용자 인증 설정 앞에서도 잠깐 언급했지만 Gerrit 은 사용자 인증 기능을 제공하지 않는다. 대신 외부의 인증 기능들을 연동시킬수 있는데, 우리는 제일 간단한 http 인증(Apache 웹서버 인증) 기능을 사용한다. Gerrit 이 Apache 웹서버 인증 기능을 사용하게 하기 위해서 AuthUserFile 옵션에 명시된 파일에 인증 정보들을 저장하면 된다. 인증 정보를 저장하는 파일은 Apache 웹 서버의 htpasswd 명령어로 생성하면 된다. # 명령어 사용법 : htpasswd -c [파일 이름] [계정 이름] $ cd /etc/apache2/conf $ sudo htpasswd -c passwords AriGerrit New password: Re-type new password: Adding passwo.. 2023. 10. 17.