Mac mini -> Aws Ec2 인스턴스에 gitlab runner 설치
Last updated
Last updated
JAVA SDK install Script (SDKMAN )
Android & Flutter SDK install script
확장성과 안전성을 위해 MacMini -> AWS로 이전
CI/CD 파이프라인을 물리 머신에서 AWS 프로덕션 존(Production Zone)으로 이전
원래 macOS EC2를 지원하지 않던 AWS가 2020년도에 macOS 기반의 EC2 인스턴스를 출시
안정성, 확장성 그리고 물리 머신의 유지보수 비용을 고려
Android 및 iOS용 파이프라인 전체를 AWS로 이전하고 물리 머신(맥미니) 의 사용을 중단
-> AWS 인스턴스의 경우에는 VPN 사용 필요 없음 (기존에 MacMini 에서는 필수)
GUI 로 CI 서버 머신 원격 연결 방법
Finder - 서버에 연결
vnc viewer 통해 vnc//{IP주소} 원격 연결
GUI 를 통해 접근
Docker에서 macOS 빌드 환경을 구축할 수 있을까? (AWS Instance에서는 불가, GitLab Hosted Runner에서는 가능 )
1. Docker에서 macOS 빌드 불가능한 이유
Docker 컨테이너는 Linux 커널을 기반으로 동작하므로, macOS 컨테이너를 직접 실행할 수 없음.
2. GitLab Hosted Runner에서 macOS 빌드가 가능한 이유
macos-14-xcode-15
이미지는 실제 macOS 시스템에서 실행되며, Xcode 및 Fastlane을 포함하여 iOS 빌드가 가능함.
GitLab CI/CD 스크립트에서 tags: saas-macos-medium-m1
을 지정하면 GitLab이 macOS 환경을 자동으로 할당.
3. AWS EC2에서 GitLab Runner 등록과의 차이점
실행 환경
GitLab이 관리하는 macOS 머신
사용자가 직접 설정한 Linux/Windows/macOS 머신
macOS 빌드 가능 여부
가능 (GitLab이 macOS VM 제공)
불가능 (AWS에서 macOS 인스턴스를 따로 생성해야 함)
Docker 활용
불필요 (실제 macOS 실행)
가능하지만 macOS 빌드 불가
추가 설정
없음
macOS 실행 환경 직접 구축 필요
4. 결론
GitLab Hosted Runner (macOS): GitLab이 제공하는 실제 macOS 환경에서 실행되므로, 별도 설정 없이 macOS/iOS 빌드 가능.
AWS EC2 등 자체 환경: 기본적으로 macOS 환경이 없으며, macOS 빌드를 하려면 macOS 하드웨어를 직접 구매하여 macOS Runner를 설정해야 함.
AWS GUI 해상도 조절 ()
macOS에서 Docker를 사용하려면 가상화 계층() 이 필요하지만, 이는 CI/CD 환경에서 적절한 솔루션이 아님.
GitLab의 macOS Hosted Runner는 GitLab.com에서 제공하는 실제 macOS 하드웨어 기반의 관리형 CI/CD 환경. ()