nick_fields.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)执行它。
由于该角色需要为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:
将添加到ci用户
授权密钥中的ssh公钥的位置。这将允许使用该用户通过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
许可证
作者信息
该角色由MacStadium, Inc于2019年创建。