Ansible Role: OSX-CI
Installs and configures software tools needed for building & deploying OSX/iOS applications. The configured Mac machine can be used as a Jenkins agent.
The role creates a
ci user that can be used to run builds on the Mac machine. It configures the user to be able to log remotely via ssh.
It also installs:
- Node.js 10 LTS
- Java 8 - Jenkins requirement. By installing Java 8, the OSX machine can be easily become a Jenkins agent.
The role expects Xcode Command Line Tools to be installed on the target machine. You can find all available versions in the Apple Downloads Page. You can also install the Xcode Command Line Tools via terminal using:
Note that this command requires user input, so you cannot execute it remotely (via ssh).
Because the role needs to set up an authorized ssh key for the ci user that enables remote login, a public ssh key needs to be pre-generated and provided to the role.
The ssh public key needs to be on the machine that
executes the role.
Role variables and their default values are listed below.
You can find all default variables in
ci_user: ci_user ci_user_uid: 5013 ci_user_group: ci_user
ci user name, uid and group to be created.
The location of the ssh public key that will be added to the authorized keys for the
ci user. This will allow remote login with ssh with that user.
ci_user_default_keychain: login.keychain ci_user_default_keychain_password:
The name and the password of the default keychain to be created for the
The brew cask packages to be installed.
The ruby gems to be installed globally.
A list of extra
brew packages to be installed
- 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
This role was created in 2019 by MacStadium, Inc.