Как докеризировать Xcode

Для целей CI мне нужно настроить кластер ведомых устройств сборки, способных создавать приложения для iOS. На данный момент я полагаюсь на один MacMini — с целью развернуть еще несколько в будущем — и я хотел бы виртуализировать несколько ведомых устройств поверх него. Некоторые из этих виртуальных ведомых устройств будут создавать приложения для iOS, другие будут меньшими ведомыми устройствами Linux для различных целей.

Я совершенно новичок в Docker, поэтому мой главный вопрос заключается в том, можно ли докеризировать Xcode 9.2 и/или MacOS, чтобы виртуализировать мои ведомые устройства для сборки iOS. Я видел очень мало литературы о том, можно ли этого добиться, и я нашел несколько изображений на hub.docker.com, но они не задокументированы и не кажутся очень популярными.

Я сейчас просматриваю учебник по Docker и в конечном итоге попытаюсь это сделать - и если я добьюсь успеха, я отвечу здесь на свой вопрос для других, но, учитывая отсутствие информации, у меня есть сомнения в том, что это даже возможно или где я должен даже начать.

Любые подсказки или указатели на этом больш были бы оценены. Или, если кто-то точно знает, что это невозможно, и может объяснить почему, это также сэкономит мне много времени.


person Mig82    schedule 12.03.2018    source источник
comment
Связано: stackoverflow.com/questions/28574769/   -  person Christian    schedule 27.01.2020


Ответы (2)


OS X не использует ядро ​​Linux, поэтому не может работать в контейнере Docker.

XCode не имеет открытого исходного кода и не имеет установщика Linux, поэтому его нельзя использовать в образе Linux Docker.

Кажется, лучше всего создать шаблон Packer, используя что-то вроде packer-macos osx-vm-templates и интегрируйте его в свой конвейер.

person akjones    schedule 12.03.2018
comment
Можно ли развернуть его на виртуальной машине, например, на digitalocean, linode или другом хостинг-провайдере? Или для работы по-прежнему требуется аппаратное обеспечение Mac? - person ciekawy; 18.10.2018
comment
Вам нужно оборудование Mac. Этот репозиторий является лучшим источником информации. - person akjones; 19.10.2018
comment
Возможно, это сработает, passthroughpo.st/ - person akjones; 19.10.2018
comment
это классная ссылка! около 5 лет назад я даже смог запустить osx в vagrant на оборудовании, отличном от Mac, именно для этой цели, но мне потребовалось много времени для настройки. вторая ссылка выглядит многообещающе - person ciekawy; 19.10.2018

Посмотрите на Docker-OSX, который запускает macOS с поддержкой Xcode внутри Docker.

Вы можете подключиться к этой macOS через SSH или VNC. Такой же подход можно использовать и в CI/CD.

Связанная ссылка из файла readme: Я хочу используйте Docker-OSX для целей, связанных с CI/CD (войдите в Xcode, Transporter)

person Alex Kosh    schedule 24.06.2021