"CI/CD" 태그로 연결된 15개 게시물개의 게시물이 있습니다.
모든 태그 보기
현대 소프트웨어 개발 환경에서는 빠른 속도와 높은 품질을 동시에 달성하는 것이 매우 중요합니다. 이를 위해 DevOps 문화와 CI/CD(Continuous Integration/Continuous Deployment) 접근 방식이 강조되고 있고요. 오늘날 개발 속도를 높여 고품질 소프트웨어를 만드는 데 도움이 되는 다양한 도구가 개발되고 있습니다. 그중에서도 GitLab CI/CD와 Jenkins는 CI/CD 파이프라인을 구축하고 관리하는 데 널리 사용되는 도구인데요. 이는 개발팀과 운영팀의 협업 프로세스를 자동화하여 생산성을 높입니다.


소프트웨어 테스트는 개발한 소프트웨어가 요구사항을 잘 반영하였는지, 기능이 정상적으로 작동하는지, 안정적인지 등을 확인하여 품질을 유지하고 결함을 확인하는 활동으로 개발 라이프사이클에서 중요한 과정 중 하나입니다. 개발 초기에 버그와 결함을 감지할수록 개발 시간 단축, 비용 최적화, 품질 향상 등의 이점이 있지만 늦게 발견할수록 잠재적 부채가 증가하여 품질이 떨어지고 위험도가 증가하게 됩니다. 따라서 개발 초기부터 주기적으로 테스트 오류와 결함을 줄이는 것이 장기적으로 중요합니다. 이 글에서는 소프트웨어 테스트를 자동화하고 주기적으로 실행하는 지속적 테스트를 알아보겠습니다.


GitLab의 중요한 기능 중 하나는 코드 빌드, 테스트 및 배포 과정을 자동화할 수 있는 CI/CD 파이프라인입니다. 그러나 프로젝트가 커지면 Job 수, 단계 수, 스크립트 및 의존성 수 등 많은 요소로 인해 파이프라인이 느려질 수 있습니다. 느린 파이프라인은 개발 프로세스에 부정적인 영향을 미칠 수 있으며, 시장 진입 시간이 증가하고 귀중한 자원을 낭비할 수 있습니다.


이번 포스팅에서는 코딩 컨벤션 체크에서부터, 단위 테스트, 코드 사이닝, iOS 앱 빌드, TestFlight에 앱을 배포한 것에 이르는 일련의 과정을 자동화하는 GitLab CI/CD 파이프라인을 구성하는 방법에 대해 알아보겠습니다.


iOS 앱을 개발하면서 코드사이닝, 버전 및 빌드 번호 변경, 테스트하여 TestFlight 및 App Store에 배포하는 일련의 과정은 번거로운 작업일 수 있습니다. Fastlane과 GitLab CI/CD 파이프라인을 사용하면 이러한 작업을 자동화할 수 있습니다. 개발자는 새로운 기능을 개발하거나 기존 기능을 개선한 후, 코드를 커밋하고 GitLab에 Push만 하면 됩니다. GitLab CI/CD 파이프라인이 개발자를 대신해 자동으로 빌드, 테스트하고 TestFlight 및 App Store에 앱을 배포합니다.


지난 블로그(GitLab과 GitHub, 실무에서 어떤 차이가 있을까요?)에서 GitLab과 GitHub에 대해서 비교해 봤습니다. 결론적으로는 GitHub의 Git에 대한 노하우는 무시할 수 없지만, 서비스 혹은 전체 라이프사이클에 대한 여러 가지 비용적인 요소에서 GitLab이 우수하다는 것을 확인할 수 있었습니다. 이번 블로그에서는 DevOps 측면에서 GitLab CI/CD와 GitHub Action을 좀 더 면밀하게 살펴보겠습니다.


팀 협업 중에 코드 품질 때문에 이슈가 발생하는 경우가 있나요? 소프트웨어 개발 문화가 성숙할수록 코드리뷰 활동도 성숙해집니다. 다른 사람이 작성한 코드를 보고 개선을 위한 의견을 주고 받는 활동을 합니다. 코드 리뷰는 코드로 협업하는 개발팀이 리뷰를 통해 잠재적인 이슈를 해결하고 개선해 나가는 과정입니다. 소프트웨어 개발 라이프사이클에서 소프트웨어 품질 보증 활동의 시작은 코드 리뷰 활동입니다.
그렇다면, GitLab으로 코드 리뷰를 더 잘하는 방법은 어떨까요?
항상 처음 보다 더 나은 상태로 코드를 만들어 놓고 떠나라
- Robert C. Martin (Uncle Bob) , 보스카웃룰 패러디