osx_ci
Ansible Роль: OSX-CI
Устанавливает и настраивает программные инструменты, необходимые для сборки и развертывания приложений под OSX/iOS. Настроенный Mac можно использовать как агент Jenkins.
Роль создает пользователя ci
, который может использоваться для выполнения сборок на Mac. Пользователь настраивается для удаленного входа через ssh.
Также устанавливаются:
- Homebrew
- Node.js 10 LTS
- Java 8 - требование Jenkins. Установив Java 8, OSX машина может легко стать агентом Jenkins.
- fastlane
- CocoaPods
Требования
Роль ожидает, что на целевой машине установлены инструменты командной строки Xcode. Все доступные версии можно найти на странице загрузок Apple. Вы также можете установить инструменты командной строки Xcode через терминал, используя:
xcode-select --install
Учтите, что эта команда требует ввода от пользователя, поэтому вы не можете выполнить её удаленно (через ssh).
Поскольку роли необходимо настроить авторизованный ssh ключ для пользователя ci для удаленного входа, публичный ssh ключ должен быть заранее сгенерирован и предоставлен роли.
Публичный ssh ключ должен находиться на машине, которая выполняет
роль.
Переменные роли
Переменные роли и их значения по умолчанию перечислены ниже.
Вы можете найти все переменные по умолчанию в defaults/main.yml
ci_user: ci_user
ci_user_uid: 5013
ci_user_group: ci_user
Имя пользователя ci
, uid и группа, которые будут созданы.
ci_user_public_key_location:
Место расположения публичного ssh ключа, который будет добавлен в авторизованные ключи для пользователя ci
. Это позволит удаленный вход через ssh с этим пользователем.
ci_user_default_keychain: login.keychain
ci_user_default_keychain_password:
Имя и пароль основного ключевого хранилища, которое будет создано для пользователя ci
.
cask_packages: ['java8']
Пакеты brew cask, которые будут установлены.
ruby_gems: ['fastlane']
Глобальные ruby gems, которые будут установлены.
homebrew_packages:
Список дополнительных пакетов brew
, которые будут установлены.
Зависимости
Отсутствуют.
Пример плейбука
- hosts: localhost
vars:
homebrew_packages: ['git']
ci_user_public_key_location: '/path/to/public_key'
ci_user_default_keychain_password: 'keychain_pass'
roles:
- osx-ci
Лицензия
Информация об авторе
Эта роль была создана в 2019 году MacStadium, Inc.
Сопроводители
Ansible role that installs common CI tools on OSX
ansible-galaxy install macstadium/ansible-role-osx-ci