MacOSにGitLab Runnerをインストールします。

GitLab RunnerはMacOSにインストールしてアップデートすることができます。

インストール

MacOSにGitLab Runnerをインストールするには2つの方法があります:

手動インストール(公式)

Note:GitLab Runner 9以前のドキュメントについては、こちらのドキュメントをご覧ください。
  1. お使いのシステムのバイナリをダウンロードしてください:

    sudo curl --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-amd64
    

    Bleeding Edgeで説明されているように、利用可能なすべてのバージョンのバイナリをダウンロードすることができます。

  2. 実行権限を与えてください:

    sudo chmod +x /usr/local/bin/gitlab-runner
    

残りのコマンドはRunnerを実行するユーザーとして実行されます。

  1. ランナーの登録
  2. Runnerをサービスとしてインストールし、起動してください:

    cd ~
    gitlab-runner install
    gitlab-runner start
    

Runner がインストールされ、システム再起動後に実行されます。

Homebrewインストール(代替)

GitLabをインストールするためのHomebrewフォーミュラが用意されています。

注意:GitLabはHomebrewの公式をメンテナーしていません。

GitLab RunnerをHomebrewを使ってインストールするには:

  1. GitLab Runnerをインストールします。

    brew install gitlab-runner
    
  2. Runnerをサービスとしてインストールし、起動してください。

    brew services start gitlab-runner
    

Runnerはインストールされ、実行されています。

MacOSでの制限事項

注意:サービスは、現在のユーザーとして GUI インターフェイスを実行してターミナルからインストールする必要があります。 その場合のみ、サービスを管理することができます。

現在、MacOSで動作することが証明されている唯一のモードは、ユーザーモードでサービスを実行することです。

このサービスはユーザーがログインしているときにのみ実行されるため、MacOSマシンで自動ログインを有効にする必要があります。

このサービスは、LaunchAgents. LaunchAgentsNETの1つとして開始されます。 をLaunchAgents使用する LaunchAgentsことで、ビルドはUIインタラクションを行うことができ、iOSシミュレータ上での実行とテストが可能になります。

macOSにもLaunchDaemons、完全にバックグラウンドで実行されるサービスがあることは注目に値します。 LaunchDaemonsこれらはシステム起動時に実行されますが、LaunchAgentsのようにUIインタラクションにアクセスすることはできません。LaunchDaemonとしてRunnerのサービスを実行しようとすることはできますが、このオペレーションモードは現在サポートされていません。

~/Library/LaunchAgents/gitlab-runner.plist ファイルを確認することで、Runnerがinstall コマンド実行後にサービス設定ファイルを作成したことを確認できます。

Homebrewを使用してgitをインストールした場合、/usr/local/etc/gitconfig ファイルが追加されている可能性があります:

[credential]
        helper = osxkeychain

gitconfigこれはGitにユーザー認証情報をキーチェーンにキャッシュするよう指示します。これは、あなたが望むものとは違うかもしれません:

git config --system --unset credential.helper

あるいは、GitLabユーザーのcredential.helper を無効にすることもできます:

git config --global --add credential.helper ''

credential.helper

git config credential.helper

手動更新

  1. サービスを停止します:

    gitlab-runner stop
    
  2. Runnerの実行ファイルを置き換えるバイナリをダウンロードしてください:

    sudo curl -o /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-amd64
    

    Bleeding Edgeで説明されているように、利用可能なすべてのバージョンのバイナリをダウンロードすることができます。

  3. 実行権限を与えてください:

    sudo chmod +x /usr/local/bin/gitlab-runner
    
  4. サービスを開始します:

    gitlab-runner start
    

GitLab Runnerのよくある問題を説明したFAQセクションを必ずお読みください。

サービスファイルのアップグレード

LaunchAgent の設定をアップグレードするには、サービスをアンインストールしてインストールする必要があります:

gitlab-runner uninstall
gitlab-runner install
gitlab-runner start

GitLab Runner Serviceでcodesignを使用します。

macOSにgitlab-runner をhomebrewでインストールし、ビルドがcodesignを呼び出す場合、<key>SessionCreate</key><true/> を設定して、ユーザーのキーチェーンにアクセスできるようにする必要があるかもしれません。以下の例では、gitlabユーザーとしてビルドを実行し、そのユーザーによってインストールされた署名証明書にアクセスしてコード署名を行います:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>SessionCreate</key><true/>
    <key>KeepAlive</key>
    <dict>
      <key>SuccessfulExit</key>
      <false/>
    </dict>
    <key>RunAtLoad</key><true/>
    <key>Disabled</key><false/>
    <key>Label</key>
    <string>com.gitlab.gitlab-runner</string>
    <key>UserName</key>
    <string>gitlab</string>
    <key>GroupName</key>
    <string>staff</string>
    <key>ProgramArguments</key>
    <array>
      <string>/usr/local/opt/gitlab-runner/bin/gitlab-runner</string>
      <string>run</string>
      <string>--working-directory</string>
      <string>/Users/gitlab/gitlab-runner</string>
      <string>--config</string>
      <string>/Users/gitlab/gitlab-runner/config.toml</string>
      <string>--service</string>
      <string>gitlab-runner</string>
      <string>--syslog</string>
    </array>
    <key>EnvironmentVariables</key>
    <dict>
      <key>PATH</key>
      <string>/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
    </dict>
  </dict>
</plist>