나의 첫 Pull Request : Spring Cloud Gateway
나의 첫 pull request를 보냈다.
그리고 얼떨결에 Spring Cloud Gateway contributor가 되어버렸다.
오픈소스에 기여할 일이 생길거라고는 생각해본적이 없는데 우연찮게 기회가 찾아왔다.
Spring Cloud Gateway의 다른 기능들에 대해서 좀 더 알아보기 위해서 공식문서를 살펴보고 있었다.
RewritePath GatewayFilter의 샘플 내용을 예전에 시도해보다가 실패한 적이 있었다.
근데 그 때는 Spring Cloud Gateway를 처음 접했던 때이기도하고 당시에 급하게 작업을 진행하고 있었기 때문에 RewritePath GatewayFilter를 사용하지 않고 다른 방법으로 처리를 했다.
근데 이번에는 휴일이고 집이라서 여유로운 상태였기 때문일까..
아니면 Spring Cloud Gateway로 프로젝트를 구축하고 오픈한 경험 덕분일까..
공식 문서에 적힌 예제가 잘못됐다는 것이 보였다.
테스트를 통해 확인 후 바로 fork를 받고 수정해서 pull request를 보냈다.
의도한 것은 아닌데 pull request 번호도 1700번으로 참 예쁘게 받았다.
그리고 몇일이 지나고 pull request는 받아들여졌고 반영됐다.
굉장히 단순한 내용이라서 몇일 걸릴 내용이 아닌데 내가 하필 금요일 노동절(2020.05.01)에 pull request를 올렸고 maintainer들도 쉬느라 다음 월요일 밤이 되서야 진행이 된 것 같다.
“쉬는 날이여서 처리 안해주는 거겠지? 혹시 내가 착각하고 있는게 있나?”라는 생각이 주말기간동안 머리속에서 떠나질 않아서 쉽지 않았다.
위의 이미지를 보면 내가 작성한 comment의 우측 상단에 Contributor라는 문구가 생겼다.
그리고 contributors에 Dveamer가 표시되어있다.
Commit한 내용은 굉장히 단순하다. 어쩌면 지금까지 contributor 중에서 가장 짧은 수정을 했을지도 모른다. 딱 3글자 수정했다.
지금 내 느낌을 적어보자면,
일단 contributor 명단에 이름을 올리게 되어 기쁘다. 특히 Spring Cloud Gateway라서 더 기분좋다.
이름 있는 오픈소스이기 때문도 있지만
Spring Cloud Gateway를 최근 프로젝트에서 사용했었고
지금 새로 진행하고 있는 프로젝트의 요구사항도 모두 충족하는 것으로 판단되어 자체 개발이었던 현 계획을 수정하고 Spring Cloud Gateway를 사용하자고 제안할 예정이었다.
더 애착이 생겨서 앞으로 Spring Cloud Gateway의 장점을 열심히 찾고 전파해나가는 것이 아닐지 모르겠다.
그리고 코드 수정만이 아니라 오타 수정과 같은 사소한 기여만으로도 contributor 명단에 이름을 올릴 수 있다는 것은 이미 알고 있었다.
하지만 정말로 가이드 문서의 예제에 오류를 정정한 것만으로 contributor 명단에 이름을 올리게 될줄은 몰랐다.
운이 좋았고 덕분에 재미있고 흥분되는 이벤트였다.
또 운이 따라줄지는 모르겠지만, 더 많은 commits을 올릴 기회가 있으면 좋겠다.
그리고 가능하다면 이번에는 코드 수정을 통한 기여를 해보고 싶다.
Associated Posts
관련된 주제를 살펴볼 수 있도록 동일한 Tag를 가진 글들을 모아뒀습니다. 제목을 눌러주세요.-
Spring Boot Configuration & Kubernetes ConfigMap: OS 환경변수 바인딩
( Image reference : https://upload.wikimedia.org )이 글은 OS 환경변수를 Spring Boot의 프로퍼티에 바인딩하는 방법을 다룹니다.
그리고 그 방법을 이용해서 Kubernetes configmap을 Spring Boot 프로퍼티에 바인딩 하는 방법도 다룹니다.이를 이용해서 프로퍼티를 더 간단하고 유연하게 관리 가능합니다.
로컬환경에 필요한 프로퍼티는 application.yml로 관리하면되고
개발환경, 운영환경 등에 필요한 프로퍼티는 각 OS 환경변수 혹은 Kubernetes configmap을 활용해서 관리합니다.... 더 읽기 -
Contract Test 없이 MSA 도전 : Contract Interface
API 제공자(Provider), 소비자(Consumer) 모두 컴파일 단계에서 계약(Contract)의 API spec을 검증할 방법을 제안합니다.
기존에 component, contract 테스트에서 받을 수 있었던 피드백을 컴파일 단계에서 받게되어 개발속도가 크게 향상됩니다.... 더 읽기 -
Spring Cloud Gateway - Resilience4j, Kubernetes
( 이미지 출처 : https://upload.wikimedia.org )Spring Cloud Gateway의 기본적인 설정 그리고 circuit breaker, retry 설정들을 살펴봅니다.
그리고 Kubernetes 환경에서는 Spring Cloud Kubernetes를 이용하고 로컬환경에서는 Netflix Eureka를 이용하는 방법을 소개합니다.... 더 읽기 -
All Properties Of Spring Boot, Spring Cloud
-
Spring Boot, Spring Cloud의 설정정보 모음
-
Spring Boot Auto Configuration 설정과 원리
-
Spring Boot Starter & Parent 로 간단히 의존성 설정하기
-
중복 로그인 방지 in Session Clustering Env
-
Spring RequestContextHolder - 어디서든 HttpServletReqeust 사용하기
-
Spring @Async with Http Session
-
Spring @Cacheable Cache 처리
-
Spring @Async AspectJ 비동기처리
-
Spring @Async 비동기처리