Solutions
GitHub을 사용하여 Azure에 DevOps 가속화
GitHub는 Azure와 원활하게 통합된 세계 최고의 개발자 플랫폼입니다.

원활하게 통합된 Azure 제품 및 서비스를 통해 전 세계에서 가장 큰 개발자 커뮤니티의 성장을 지원해 온 사례 및 도구를 결합하여 더욱 빠르고 안전하게 소프트웨어를 제공합니다.

DevOps GitHub Key Driver
CI/CD에 특화된 형상관리 툴 중 GitHub으로 주요 솔루션을 활용하여 귀사의 개발환경에 지속적인 통합 및 배포를 제공하는 DevOps 서비스를 제공합니다.

DevOps GitHub Process
DevOps을 적용하기 앞서 각 단계 별로 정립하여 이행 시 확인 및 고려사항에 대하여 체크합니다.

효율적인 S/W 개발을 위한 협업 플랫폼
오픈 소스에서 비즈니스까지

분산형 버전 관리 시스템
모든 타입, 모든 단계의 초안이나 업데이트 기록을 저장소(Repository)에서 저장 및 관리하는 버전 관리 시스템 원격 저장소와 지역 저장소에 분산 저장

Git을 사용하여 협업하기 위한 호스팅 서비스 플랫폼
- Web에서 GUI 제공
- 보안을 위한 접근제어 제공
- “Not just a Git repository” – 협업을 위한 Wiki 및 작업도구 제공
Built-in CI/CD
Any platform, any language, any cloud

-
GitHub의 자동화된 CI/CD
-
손쉬운 yaml파일 기반의 자동화된 빌드, 테스트, 검증 및 배포 구성
-
Cloud 기반 또는 Self-hosted Runner
-
윈도, 맥, 리눅스 기반 Runner 이용 가능
-
Matrix구성을 통해 동시에 다양한 버전의 Runner 구성
-
Built-in Secret 이용 가능
-
로그 : Streaming, Searchable, linkable
Built-in Artifact 저장소
소프트웨어 패키지 호스팅




코드의 무결성을 유지
Branch로 Push할 수 있는 사용자를 제한하고, 특정 Branch를 Rule 기반으로 보호
-
병합 전 pull request 검토 요청
-
병합 전 상태 확인 필요
-
병합 전 Comments에 대한 대화 해결 필요
-
서명된 커밋 필요
-
선형 기록 필요
-
병합 대기열 필요
-
관리자 포함 여부
-
일치하는 Branch로 Push할 수 있는 사람 제한
-
강제 푸시 허용 여부
-
삭제 허용 여부
Shift-left Security / DevSecOps
보안 분석을 자연스러운 개발 절차의 하나로!
코드 스캔
- 코드에 잠재적인 보안 취약성과 코딩 오류를 검색
비밀 스캔
- 저장소에 체크인된 키 및 토큰과 같은 비밀을 감지
종속성 검토
- pull request를 병합하기 전에 종속성 변경의 전체 영향을 표시하고 취약한 버전의 세부 정보를 확인

GitHub Actions
추가적인 관리 포인트 감소


GitHub Actions
추가적인 관리 포인트 감소
별도 서비스 가입 불필요
별도 서비스 설치 / 관리 불필요
Web Hook 설정 관리 불필요
Access Token 설정 관리 불필요
Azure DevOps와 GitHub 비교


고객 사례
협업을 통해 Web Service 고객 니즈 반영 가속화
ENDALGO(엔달고)는 아마추어 및 유소년 스포츠인들에게 더 나은 스포츠 커뮤니티 환경을 제공해 전세계 사람들을 스포츠를 통해 연결하고자 스포츠 소셜 커뮤니티 플랫폼인 ENDALGO를 서비스하고 있습니다.
서비스 오픈 이 후 수많은 실사용자 피드백이 있었으며, 사내 개발팀에게 실시간으로 피드백 반영에 대한 개발 요청을 하였으나 반영에 갭이 발생하고 기능 점검에 어려움을 겪었습니다.
과제: 사용자 피드백에 대한 빠른 반영과 기능별 버전 관리 및 개발자 활동 추적
사용자 요구사항 검토에서 개발, 빌드, 배포, 운영 단계에 이르기까지 도달하는데 비교적 오랜 시간이 걸리는 것을 인지하였으나 서비스 초기에 운영되던 방식의 변화가 어려웠습니다.
오로지 개발팀만이 소스코드에 기여가 가능하고 운영팀은 Product환경에 배포 전 단위 테스트만을 진행하는 별개의 조직으로 움직이고 있습니다.
개발팀의 소스코드 관리도 SVN으로 별도 사내 서버를 구성하여 단순 버전 관리용도로만 사용되고 있습니다. 별도의 SVN관리자가 없고 개발팀에서 겸하여 운영이 되고 있는 상태였습니다.
통합과 배포는 별도의 Tool을 개발하여 관리자 한 명이 부담하였습니다.
솔루션: GitHub(GitHub Enterprise), Azure와 통합된 고성능 개발 플랫폼
비공개 저장소, 기업용 Internal 저장소를 별도의 호스팅이나 관리를 할 필요가 없는 GitHub을 도입하여 관리 리소스를 감소시켰습니다.
Inner-sourcing을 통해 사내의 모든 조직 구성원들 프로젝트에 기여할 수 있도록 하고 Team을 구성하여 적절한 사용 권한과 접근 제어를 쉽게 구현하였습니다.
또한, GitHub의 Workflow를 이용하여 손쉽게 CI/CD를 도입하고 도입 간 GitHub의 마켓플레이스에서 간단하게 미리 만들어진 작업을 가져와 사용할 수 있었습니다.
GitHub다양한 Tool들, 특히 Advanced Security의 CodeQL과 Depenabot을 이용해 자동으로 코드의 취약점을 분석하고 이용하고 있는 오픈소스의 취약점까지 한 번에 파악이 가능해졌습니다.
”“Azure와 통합된 GitHub을 이용하여 놀라운 경험을 하였습니다. 개발 및 협업을 하나의 도구로 통합하여 개발자에게 서비스 중단없이 단일 소스에서 필요한 모든 것을 제공받았습니다.”
최지운Endalgo 서비스 책임자