CI/CD 파이프라인 전환 및 고도화 구축 경험

Description: 프로덕트 엔지니어로서 약 4개월간 파견을 하며 수행한 CI CD 고도화 프로젝트를 정리해 놓은 기록입니다.

현재 노트: KR-130.00 a CI/CD 파이프라인 전환 및 고도화 구축 경험
상위 분류: KR-130 회사 프로젝트

#프로젝트경험

클라이언트 회사로 4개월간 파견을 나갔던 CI/CD 고도화 프로젝트의 내용을 기록한 곳입니다.

프로젝트 개요

CI/CD고도화를 위하여 기존의 svn방식에서 git방식의 CI/CD 파이프라인 구축

내 역할

SVN과 Git방식이 혼합된 팀들의 브랜치 전략을 파악하고, 사용하고 있는 메인 VCS툴의 기능을 조사하였습니다.

해당 조사와 협의를 바탕으로 기존의 기능들을 대체하기위한 설정을 구성한 후 마이그레이션을 수행하였습니다.

이 후 신규기능인 코드보안검사나 Docker관련 빌드와 ArgoCD배포와 같은 부분등 파이프라인을 위한 파일 작성 및 기능 테스트를 수행하였습니다.


겪었던 문제와 해결 방법

이번에 git으로 이전하는 팀들이 많다보니 팀들의 git 사용 수준이 너무 차이가 많이 났습니다. git을 아예 안써본팀과 git을 자유자재로 쓰는팀이 합이될만한 공통 전략이 필요했습니다. 또한 금융권이다보니 엄격한 제약사항들이 많았기에 이점까지 충분히 브랜치 전략에 녹여야 했습니다.
해결하는 방법으로는 모든 팀들의 인터뷰를 통해 브랜치전략을 수십번 수정하는 것이었습니다. 개발과정에서 정말 필요한 부분임을 확인할 수 있는 가장 직접적인 수단이었기 때문입니다. 이 과정에서 git을 잘쓰는 팀들의 양해를 구했습니다. 왜냐하면 답답하게 사용될 수 있는 부분이있었지만, 프로젝트의 목적인 고도화를 생각해 어쩔 수 없는 부분임을 설득하였습니다.

마이그레이션을 하기에 기존의 툴이 사용하고있던 기능을 조사하는것이 일이었습니다. 파편화된 정보와 문서가 별로 없었기에 어려움이있었습니다.
결론적으로 클라이언트의 요구사항을 이번 기회에 정리하고 추가적으로 담당자와의 대면을 통해 해당 툴의 기능과 제약사항등을 명확히 문서화하는 방법으로 해결하였습니다.

인터넷이 제한되고, 여러 제약조건이 있던 환경에서의 툴 사용이 문제였습니다. 인터넷이 안되다보니 발생하는 패키지 설치 및 의존성 관리 문제들이 많았습니다. 해당 문제들을 조사하고 해결하는 방법은 기존의 프록시 서버들을 이용하였습니다. 프록시 서버의 기능 테스트, 그리고 새로설치한 VCS 연동테스트를 마친 후 이 문제를 해결할 수 있었습니다.


결론