개요
지금 있는 팀이 좀 특이한 구조를 가지고 있습니다.
특정 부분의 개발 및 유지 보수는 외부 업체에 맡기고 있는데, 외부 업체는 실제 운영서버에 접근을 못합니다. 개발환경 -> 테스트 환경 -> 운영환경 중 개발환경에서만 유지보수가 가능한 상황입니다.
이런 상황이기에 테스트환경에 빌드, 배포는 Jenkins와 Git hook을 통해 자동화처리를 해놨었습니다.
여기서 문제는 팀의 Git Flow전략이 달라짐에 따라 테스트환경 배포가 좀 더 빈번하게 일어났는데, 누가 배포했는지, 배포는 잘 되었는지는 팀 내에서 확인이 가능하지만 외부업체에서 이를 확인할 수 없었습니다.
예를 들어서 제가 배포하고 3분 뒤에 외부업체가 자동배포를 시작하게되면 Jenkins 권한이 없는 외부업체는 배포가 완료되고 자기것이 배포되었는지 확인이 어려웠습니다. 그저 Success
알람 하나 가지고 확인이 가능했죠.
개선사항
이를 개선하고 싶었습니다. Git hook에서는 puhser
와 git log
에 대한 정보를 제공하고 있어서 이를 가공하고 Dooray Messenger의 hook 기능을 가공해서 사용하면 좋을 것 같았습니다.
결과적으로 Git Push를 통하면 자동 배포를 통해서
이런 알림이 오게끔 하였습니다.
이를 통해서 외부업체 사람들도 배포할때마다 자기의 커밋이 잘 적용되었는지, 또 누가 배포를 시작했는지 서로가 알 수 있게되었습니다.
팀 내에서는 "이렇게 까지 친절을 배풀어야하나?"라고 생각할 수 있습니다.
하지만 외부업체와 계속 신뢰를 유지하며 일을 해야하고, 내가 반대입장이라면 답답해서 일 못할 것 같다.
고 생각하여 개선하였습니다.
과정에 대한 내용은 따로 작성하고 있었는데.. 알 수 없는 이유로 본문이 다 날라가버려서 멘붕이 와서 적지 않겠습니다.
혹시 관심있으신분들은 댓글 작성해주시면 알려드리겠습니다.
결론
위에도 적었지만 사실 이 작업은 제 성과에도 딱히 도움되지 않기에 이걸 왜했냐..하면 저도 답을 모르겠습니다.
근데 역지사지마음으로 외부업체가 Jenkins 기본알림만 받고 '음, 배포 되었군' 이라고 판단하기에는 어려움이 있을거라 생각하고 작업한 것 같습니다.
그냥 뭔가 다른사람들 도와줘서 뿌듯했습니다.
'작업 목록' 카테고리의 다른 글
[grpc] grpcurl에서 Failed to list services: server does not support the reflection API 라는 에러가 뜰 때 (0) | 2025.04.03 |
---|---|
JPA, Spring MVC를 이용한 동적 스키마 변경 (0) | 2025.02.21 |