Назад | Перейти на главную страницу

Запуск Gitlab CI runner с Docker в OS X в качестве службы

У меня есть Mac Pro 2012 (OS X 10.11), который я использую в качестве сервера, настроенный с помощью Docker для OS X и официальный бегун gitlab CI, установленный в соответствии с https://docs.gitlab.com/runner/install/osx.html.

Это отлично работает, за исключением одного: я должен входить в систему и оставаться в системе с моей учетной записью каждый раз после перезагрузки, чтобы Docker и бегун gitlab действительно запускались.

Как заставить работать Docker и gitlab CI runner независимо от того, какой пользователь вошел в систему?

В этом случае вам, вероятно, потребуется запустить Docker и GitLab как общесистемный LaunchDaemon, а не как он запускается в данный момент (как пользовательский LaunchAgent). Подробнее о различиях см. Здесь: https://apple.stackexchange.com/questions/290945/what-are-the-differences-between-launchagents-and-launchdaemons

Обратите внимание, что LaunchDaemons не может запускать графические приложения, что объясняется здесь: http://www.grivet-tools.com/blog/2014/launchdaemons-vs-launchagents/

Однако имейте в виду, что, как я обнаружил, если вы используете FileVault (шифрование диска) для пользователей, то файлы этого пользователя будут недоступны до тех пор, пока этот пользователь не войдет в систему. А если вы используете полное шифрование диска, тогда он Вероятно, что к файлам нельзя будет получить доступ, пока хотя бы один человек не войдет в систему.