kenhuang.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 密钥,并提供给该角色。 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 年创建。