
MR로 협업하기 시리즈 1편. 다수 개발자 협업 시 발생하는 커뮤니케이션과 코드 관리 문제를 소개하고, GitLab Merge Request가 이러한 문제를 어떻게 해결하는지 핵심 이점과 활용 방법을 설명합니다.

클라우드에서 인프라를 구축을 할 때 비용 절감, 배포 속도 향상, 일관성, 안정성 및 재사용성을 고려하여 웹 콘솔로 구축하기보다는 IaC(Infrastructure as Code) 도구를 활용하여 구축하는 것이 좋습니다. 오픈소스이며 IaC 도구 중 가장 많이 사용하는 것이 Terraform입니다. Terraform 코드를 효율적이고 효과적으로 작성하기 위해서는 Terraform에서 제공되는 기능들을 적절하게 사용하는 것이 중요합니다. 그렇지 않으면 예상과 다른 결과가 발생할 수 있습니다. 이번 글에서는 Terraform에서 제공하는 각 반복문의 특징과 차이점을 알아보겠습니다.

구축형 GitLab을 사용할때에 사용자별로 다양한 환경이 존재합니다. 이러한 상황에서 기준이 되는 아키텍처가 있다면 환경을 구성하는 시간이 많이 단축될 것이라 생각합니다. 오늘은 일반적인 환경과 클라우드 네티이브 환경을 사용할때에 활용할 수 있는 레퍼런스 아키텍처를 소개합니다.

GitLab에서 활용할 수 있는 5가지 Compliance 관련 기능을 소개합니다. 규정 준수에 포함된 내용은 MFA, 주요 프로젝트에 대한 접근 권한 관리, Protected Branch 관리, Merge Request 승인 설정, Audit Event 를 포함하고 있습니다. ISO 27001을 포함해 다양한 규정에 대해 지원을 하고 있는 GitLab 입니다.

GitLab CI/CD는 모든 지속적 방법 (지속적 통합, 전달 및 배포)에 사용하는 GitLab의 기본 기능입니다. GitLab CI/CD를 사용하면 타사 애플리케이션이나 통합 없이 소프트웨어를 테스트, 빌드 및 게시할 수 있습니다. 이 글을 통해 iOS 앱을 개발하여 코딩 컨벤션 체크에서부터, 단위 테스트, 코드 사이닝, iOS 앱 빌드, TestFlight에 앱을 배포한 것에 이르는 일련의 과정을 자동화하는 GitLab CI/CD 파이프라인을 구성하는 방법을 상세하게 알 수 있습니다.

Fastlane을 사용하면 스크린샷 생성, 코드사이닝, 빌드 번호 올리기, 애플리케이션 릴리스와 같은 개발 및 릴리스 워크플로의 모든 지루한 작업을 자동화할 수 있습니다. GitLab CI/CD 파이프라인을 사용하면 Fastlane으로 구성한 이러한 작업을 Git 브랜치 전략에 따라 자동으로 실행합니다. 이 글을 통해 Fastlane을 설치하고 기본 설정을 한 후, 필요한 환경 변수를 추가하고 각 단계별 Lane을 정의하는 방법과 `match` 방식으로 코드 사이닝 하는 과정을 상세하게 알 수 있습니다.

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

GitLab으로 개발자의 업무시스템을 쓰신다고요? GitLab 서버가 장애로 Git 활동이나 MR 활동 못하면 협업에 지장이 생기고, 불편을 초래하게 되죠? 이를 방지하기 위해 GitLab도 HA로 구성을 할 수 있습니다. GitLab Reference Architecture에는 3000명 이상 사용자 부터 HA를 구성에 대한 가이드를 하고 있습니다. 이를 토대로 GitLab Korea Meetup에서 우리회사 Jason 께서 세션 발표를 짧게 진행해 주셨습니다.

DevOps 플랫폼이 공급망 공격(supply chain attack)으로부터 보호하는 방법

Kubernetes 및 Helm의 기본 개념과 GitLab의 Helm 패키지 레지스트리를 사용하는 방법에 대해 알아보겠습니다.

통합된 Agile 지원을 통해 프로젝트, 프로그램 및 제품 계획 및 관리

클라우드 네이티브, 멀티 클라우드, 레거시 환경을 위한 인프라 자동화 및 협업