macstadium.osx_ci
Ansible Role: OSX-CI
OSX/iOSアプリケーションのビルドとデプロイに必要なソフトウェアツールをインストールおよび設定します。 設定されたMacマシンは、Jenkinsエージェントとして使用できます。
このロールは、Macマシンでビルドを実行するために使用できる「ciユーザー」を作成します。このユーザーは、sshを介してリモートログインできるように設定されます。 また、次のツールをインストールします:
- Homebrew
- Node.js 10 LTS
- Java 8 - Jenkinsの要件。Java 8をインストールすることで、OSXマシンがJenkinsエージェントとして簡単に使用可能になります。
- fastlane
- CocoaPods
要件
このロールは、対象のマシンにXcode Command Line Toolsがインストールされていることを期待しています。すべての利用可能なバージョンは、Appleダウンロードページで確認できます。 また、ターミナルを使用して次のコマンドでXcode Command Line Toolsをインストールすることもできます:
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
ライセンス
著者情報
このロールは2019年にMacStadium, Incによって作成されました。
メンテイナー
Ansible role that installs common CI tools on OSX
ansible-galaxy install macstadium.osx_ci