nick_fields.osx_ci
Ansible ロール: OSX-CI
OSX/iOS アプリケーションのビルドとデプロイに必要なソフトウェアツールをインストールし、設定します。 設定された Mac マシンは Jenkins エージェントとして使用できます。
このロールは、Mac マシンでビルドを実行するために使用される ci ユーザー
を作成し、sshを通じてリモートでログインできるように設定します。
また、以下のツールをインストールします。
- Homebrew
- Node.js 10 LTS
- Java 8 - Jenkins の要件。Java 8 をインストールすると、OSX マシンが簡単に Jenkins エージェントになります。
- fastlane
- CocoaPods
要件
このロールは、ターゲットマシンに Xcode コマンドラインツールがインストールされていることを前提としています。利用可能なすべてのバージョンは Apple Downloads Page で確認できます。 また、ターミナルを通じて次のコマンドで 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
ライセンス
作者情報
このロールは 2019 年に MacStadium, Inc によって作成されました。
メンテナー
Forked Ansible role that installs common CI tools on OSX with arm64/M1 support
ansible-galaxy install nick_fields.osx_ci