여러 iOS 프로젝트를위한 지속적인 통합 인프라


13

iOS 개발자로서 지금까지 개발 한 iOS 프로젝트를위한 CI 및 CCQ (= Continuous Code Quality) 인프라를 만들려고했습니다. 우리는 이미 거의 모든 웹 및 Android 프로젝트에 Jenkins 및 SonarQube를 사용하고 있습니다 (각 VM 프로젝트 사용, CI 설치 및 구성 및 CCQ 자동화). 그러나 iOS 프로젝트의 경우 Jenkins는 macOS를 실행하는 컴퓨터에서 빌드를 수행해야하므로 완벽한 솔루션이 있는지 확실하지 않습니다.

  • macOS를 가상화하는 솔루션을 찾고있었습니다. 각 프로젝트마다 가상 macOS를 생성하고 젠킨스를 슬레이브로 설치하여 빌드를 처리합니다. 이 솔루션은 완벽 해 보였지만 macOS (물론 Mac 컴퓨터에서만)로 2 개 이상의 VM을 실행하는 것은 합법적이지 않은 것 같습니다. http://images.apple.com/legal/sla/docs/macOS1012.pdf -> 포인트 2.B. 따라서 이것은 내 경우에 대한 해결책이 아닙니다.
  • 내가 읽은 또 다른 일반적인 솔루션은 모든 프로젝트의 모든 빌드를 처리 할 Mac 컴퓨터 (MacMini)를 보유하는 것입니다. 이 구현에 대해 어떻게 생각하십니까? 얼마나 많은 프로젝트를 처리 할 수 ​​있습니까? 개발자는 자신의 프로젝트 (특히 SonarQube)에서 일부 구성을 수행해야 할 수도 있습니다. 안전합니까?
  • 서로 다른 포트를 사용하여 동일한 머신에 여러 Jenkins 및 SonarQube 인스턴스를 가질 수 있습니까? 이것은 심지어 해결책이라고 생각합니까, 아니면 말도 안되는 말입니까?
  • 위의 솔루션보다 더 나은 다른 실행 가능한 솔루션이 있습니까?

참고 : iOS 개발에 더 적합한 다른 도구가 있다면 Jenkins + SonarQube duo를 고수하지 않습니다. 나와 공유하십시오.


@ Pierre.Vriens : 지속적인 코드 품질입니다. 이것이 일반적으로 사용되는 용어인지 또는 SonarQube 가이 용어를 사용하는지 확실하지 않습니다. :)
Dan Bodnar

답변:


10

위의 솔루션보다 더 나은 다른 실행 가능한 솔루션이 있습니까?

언급 한 라이센스 문제로 인해 Jenkins의 경우 아마도 아닙니다 (Apple 브랜드 하드웨어에서 macOS를 실행해야 함). 당신이 그걸로 일할 수 있다면 그것은 확실히 해결책입니다.

그렇지 않은 경우 Apple 하드웨어 / 라이센스를 처리 할 필요가없는 호스팅 된 iOS 연속 통합 시스템을 확인하는 것이 좋습니다 . 예를 들어 https : //www.bitrise 와 같은 서비스가이를 지원합니다 . io

Apple hw를 대여 할 수있는 서비스도 있으며 원하는 방식으로 구성 할 수 있습니다. https://www.macstadium.com 은 그 중 하나 일 것입니다.


1
응답 주셔서 감사합니다. 나는 여전히 해결책을 찾고 있습니다. 미니맥이 지금가는 길이라고 생각합니다.
Dan Bodnar

2

MacOS 용 Anka 라는 새로운 경량 가상화도 볼 수 있다고 생각합니다 . Anka Build를 사용하면 Apple 하드웨어에 가상화 된 인프라를 설정하고 Jenkins에서 필요에 따라 macOS Vms를 프로비저닝 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.