kenhuang.osx_ci
Ansible ロール: OSX-CI
OSX/iOS アプリケーションのビルドとデプロイに必要なソフトウェアツールをインストールおよび設定します。 設定された Mac マシンは Jenkins エージェントとして使用できます。
このロールは ci user
を作成し、Mac マシン上でビルドを実行するために使用します。このユーザーは ssh 経由でリモートログインできるように構成されています。
次のソフトウェアもインストールされます:
- Homebrew
- Node.js 10 LTS
- Java 8 - Jenkins の要件。Java 8 をインストールすることで、OSX マシンは簡単に Jenkins エージェントになります。
- fastlane
- CocoaPods
要件
このロールは、ターゲットマシンに Xcode コマンドラインツールがインストールされていることを期待しています。利用可能なすべてのバージョンは Apple ダウンロードページ で確認できます。 ターミナルを使用して Xcode コマンドラインツールをインストールすることもできます:
xcode-select --install
このコマンドはユーザー入力が必要なため、リモート(ssh経由)で実行することはできません。
このロールはリモートログインを可能にする ci user
のために認証済み ssh キーを設定する必要があるため、ssh 公開キーを事前に生成してロールに提供する必要があります。
ssh 公開キーはロールを「実行する」マシンに存在する必要があります。
ロール変数
ロール変数とそのデフォルト値は以下に示しています。
すべてのデフォルト変数は defaults/main.yml
で確認できます。
ci_user: ci_user
ci_user_uid: 5013
ci_user_group: ci_user
作成する ci user
の名前、uid、およびグループ。
ci_user_public_key_location:
ci user
のために認可された鍵に追加される ssh 公開キーの場所です。これにより、そのユーザーで ssh を使ってリモートログインが可能になります。
ci_user_default_keychain: login.keychain
ci_user_default_keychain_password:
ci user
のために作成されるデフォルトのキーチェーンの名前とパスワード。
cask_packages: ['java8']
インストールされる brew cask パッケージ。
ruby_gems: ['fastlane']
グローバルにインストールされる ruby gems。
homebrew_packages:
インストールされる追加の brew
パッケージのリスト。
依存関係
なし。
例 Playbook
- 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 によって作成されました。