window
width : 0
clientWidth : 0
height : 0
heightVH : 0
content
left : 0
width : 0
padding : 0
column
left : 0
width : 0
gap : 0

소프트웨어품질

1 Contents
최신순

EOST2021 커뮤니티의 개발 워크플로 자동화 적용기

클라우드 바리스타는 멀티 클라우드 서비스를 구축하기 위해 반드시 필요한 기반 공통 소프트웨어 기술이자, 이를 함께 만들어가는 공개 소프트웨어 커뮤니티의 명칭입니다. 전 세계 어디서나 우리의 멀티 클라우드 기술을 활용할 수 있도록 하겠다는 지향점 아래 연구개발이 활발히 진행되고 있습니다. 특히 최근 기술의 성숙도가 높아지고 신규 기여자의 유입이 증가함에 따라, 수많은 기여 내용을 검토하고 관리해야 하는 부담이 커졌습니다. 이에 따라 반복적인 수동 작업을 줄이고 개발의 효율성을 극대화하기 위한 CI/CD 체계 도입의 필요성이 강력하게 대두되었습니다. 커뮤니티의 개발 워크플로를 자동화하기 위해 선택한 도구는 GitHub Actions입니다. 이는 비용 효율성이 높을 뿐만 아니라 커스터마이징과 협업 측면에서 뛰어난 장점을 제공합니다. GitHub Actions를 활용하면 리포지토리 내의 특정 설정 파일에 워크플로를 정의함으로써 빌드, 테스트, 배포로 이어지는 일련의 CI/CD 파이프라인을 구축할 수 있습니다. GitHub에서 제공하는 호스트 러너나 사용자가 직접 구축한 자체 구축 러너(Self-hosted runner)를 통해 다양한 운영체제와 언어 버전에서 기여된 코드를 즉각적으로 검증할 수 있는 유연한 실행 환경을 확보하게 되었습니다. CI 워크플로의 핵심 요소인 빌드 테스트는 다양한 운영체제와 프로그래밍 언어 환경의 조합에서 코드의 성공 여부를 실시간으로 점검합니다. 과거에는 메인테이너가 기여된 코드를 자신의 로컬 환경으로 가져와 일일이 확인해야 하는 번거로움이 있었으나, 자동화 도입 이후에는 빌드 에러가 발생한 코드를 사전에 차단하고 코드 리뷰와 기술적 개선에 역량을 집중할 수 있게 되었습니다. 또한 린트 테스트를 통해 소스 코드의 명명 규칙이나 코딩 관행을 일관성 있게 유지함으로써, 협업 과정에서 발생할 수 있는 소모적인 논의를 줄이고 코드의 가독성과 품질을 동시에 확보하고 있습니다. 테스트 단계에서는 단위 테스트와 API 테스트를 통해 기능의 정확성을 검증합니다. 특히 방대한 양의 기존 소스 코드가 존재하는 상황에서 효율적인 검증을 수행하기 위해, 함수 내부의 세부 동작을 확인하는 화이트박스 테스트 대신 API 요청과 결과값에 집중하는 블랙박스 테스트 방식을 적극적으로 활용하고 있습니다. 검증이 완료된 코드가 메인 스트림에 반영되면 CD 워크플로가 가동되어 컨테이너 이미지를 자동으로 생성하고 배포합니다. 이를 통해 Docker Hub나 GitHub 컨테이너 레지스트리에 최신 버전의 기술을 신속하고 안정적으로 공개할 수 있는 체계를 완성했습니다. 기술적인 자동화 외에도 공개 소프트웨어 생태계의 활성화를 위한 소통 워크플로를 구축했습니다. 명령어 기반의 자동 승인 시스템이나 위키 업데이트 내용을 기여 실적으로 연동하는 기능을 통해 참여자들의 동기를 부여하고 소통의 효율을 높였습니다. 이러한 워크플로의 도입은 단순한 도구의 활용을 넘어, 커뮤니티 구성원 모두가 발전적인 방향으로 역량을 강화하고 이해관계를 맞춰나가는 과정입니다. 궁극적으로는 개발과 운영이 긴밀하게 연계되는 DevOps 문화를 정착시켜, 클라우드 바리스타의 멀티 클라우드 기술이 전 세계적으로 확산될 수 있는 튼튼한 토대를 마련하고자 합니다.

EOST2021 커뮤니티의 개발 워크플로 자동화 적용기
한국전자통신연구원오픈소스 테크데이
  • 공학·기술