インストール

Updated 2 years ago by Admin

この記事では、Dockerを使用してLinuxにMacStadiumランナーをインストールする方法について説明します。MacStadiumランナーは、DockerHubで配布される最小限のDockerイメージとしてパッケージ化されています。


ステップ1:ダウンロード

Dockerをインストールし、パブリックイメージをプルします。

$ docker pull drone/drone-runner-macstadium

ステップ2:ネットワーキング

MacStadium APIでは、クラスターにアクセスするためにローカルで実行されているVPNが必要です。MacStadiumの公式ガイドに従って、ランナーと同じマシンにVPNをインストールして構成する必要があります。


ステップ3:画像

デフォルトのMacStadiumイメージにはgitクライアントがインストールされていません。仮想マシンを作成し、パイプラインに必要なgitクライアントとその他のソフトウェアをインストールする必要があります。仮想マシンをカスタムイメージとして保存します。インストールプロセスの一環として、ランナーにこのイメージの名前を提供する必要があります。


ステップ4:トークン

ランナーはMacStadium APIを使用して仮想マシンをプロビジョニングします。Orkaコマンドラインインターフェイスを使用して、MacStadiumアカウントにログインします。 Orka CLIは、APIトークンをホームディレクトリの構成ファイルに保存します。インストールプロセスの一環として、ランナーにトークンを提供する必要があります。

  • Okra構成ファイルの内容を表示します。
    $ cat ~/.config/configstore/orka-cli.json
  • json構成ファイルからトークンを抽出します。
    {
    "api-url": "http://10.221.188.100",
    "api-version": "1.1.0",
    token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.Et9HFtf9R3GEMA0IICOfFMVXY7kkTX1wr4qCyhIf58U",
    }

ステップ5:構成

ランナーは、環境変数を使用して構成されます。この記事では、以下の構成オプションについて説明します。構成オプションの完全なリストについては、構成を参照してください。

  • DRONE_RPC_HOST
    Droneサーバのホスト名(およびオプションのポート)を提供します。ランナーはホストアドレスでサーバに接続して、実行用のパイプラインを受信します。
  • DRONE_RPC_PROTO
    Droneサーバへの接続に使用されるプロトコルを提供します。値はhttpまたはhttpsのいずれかである必要があります。
  • DRONE_RPC_SECRET
    Droneサーバでの認証に使用される共有シークレットを提供します。これは、Droneサーバ構成で定義されているシークレットと一致する必要があります。
  • DRONE_ORKA_ENDPOINT
    MacStadium APIエンドポイントを提供します。デフォルト値はhttp://10.221.188.100です。
  • DRONE_ORKA_TOKEN
    MacStadium APIトークンを提供します。
  • DRONE_VM_CPU
    仮想マシンに割り当てられた仮想CPUのデフォルト数を提供します。デフォルト値は12仮想cpuです。
  • DRONE_VM_IMAGE
    デフォルトの仮想マシンイメージを提供します。
  • DRONE_VM_USERNAME
    仮想マシンイメージのユーザー名を提供します。デフォルト値はadminです。
  • DRONE_VM_PASSWORD
    仮想マシンイメージのパスワードを提供します。デフォルト値はadminです。

ステップ6:インストール

以下のコマンドは、コンテナを作成し、ランナーを開始します。以下の環境変数をDroneサーバの詳細に置き換えることを忘れないでください。

$ docker run -d \
-e DRONE_RPC_PROTO=https \
-e DRONE_RPC_HOST=drone.company.com \
-e DRONE_RPC_SECRET=super-duper-secret \
-e DRONE_ORKA_TOKEN=... \
-e DRONE_VM_IMAGE=... \
-p 3000:3000 \
--restart always \
--name runner \
drone/drone-runner-macstadium


ステップ7:検証

docker logsコマンドを使用してログを表示し、ランナーがDroneサーバとの接続を正常に確立したことを確認します。

$ docker logs runner

INFO[0000] starting the server
INFO[0000] successfully pinged the remote server


How did we do?