ドキュメント
circleci.com
Start Building for Free

CLI でのセルフホストランナーのインストール

2 weeks ago1 min read
クラウド
Server v3.x
On This Page

ここでは、CLI でセルフホストランナーをインストールする方法を説明します。

前提条件

ジョブのインストールや実行には、ルートアクセスが必要です。また、システムに以下のユーティリティとツールをインストールする必要があります。

  • CircleCI CLI: サーバー用のランナー をインストールする場合は、サーバー API キーを使って CircleCI CLI を設定する必要があります。 circleci setup を実行して CLI を設定し、必要に応じて新しい API トークンを提供するオプションにアクセスします。

  • coreutils (Linux のみ)

  • curl (macOS ではデフォルトでインストール済み)

  • sha256sum (プリインストールされていない場合):

    • macOS の場合は、 brew install coreutils ( Homebrew が必要)

    • Ubuntu/Debain の場合は、`sudo apt install coreutils

    • Red Hat の場合は、sudo yum install coreutils

  • tar

  • gzip

  • sepolicy ( RHEL 8 のみ)

  • rpmbuild ( RHEL 8 のみ)

セルフホストランナーの利用条件

CLI でセルフホストランナーをインストールし、利用する場合は、 CircleCI ランナーの条件 に同意したものとみなされます。

コマンドラインのインストール

セルフホストランナーをインストールするには、下記手順を実行し、名前空間と認証トークンを作成する必要があります。 リソースクラスとトークンを作成するには、VCS プロバイダーの組織管理者である必要があります。

お客様のランナーは、インベントリのページの左にあるナビゲーションバーで Self-Hosted Runners をクリックするとご覧いただけます。

  1. 組織のセルフホストランナーの名前空間を作成します。 CircleCI は組織名に基づき名前空間を自動作成するのでご注意ください。 それが使用する名前空間であることを確認してください。 作成できる名前空間は、各組織につき 1 つのみです。 CircleCI の組織のアカウント名を小文字で使用することを推奨します。 既に Orb を使用している場合は、Orb で使用しているのと同じ名前空間にします。

    名前空間の作成がエラーになる場合は、既存の名前空間があるかを確認し、既存の名前空間を使用して下記の手順 2 から実行します。

    下記のコマンドを使って名前空間を作成することをお勧めします。

    circleci namespace create <name> --org-id <your-organization-id>
  2. 次のコマンドを実行して、セルフホストランナーの名前空間用のリソースクラスを作成します。

    circleci runner resource-class create <namespace>/<resource-class> <description> --generate-token

    リソースクラスを作成するコマンドには名前空間が必要です。 例: circleci runner resource-class create my-namespace/my-resource-class my-description --generate-token

Linux、macOS、サーバーをご使用のお客様は、下記の指示に従ってください。 それ以外のお客様は、 プラットフォーム別のインストール までスキップします。

Linux、macOS、サーバーの続き

下記の手順に移る前に、 必ず コマンドラインのインストール を完了してください。

  1. 下記のスクリプトをプロジェクトのルートに download-launch-agent.sh として保存します。  このスクリプトの実行 (次の手順を参照) によりローンチ エージェントバイナリがダウンロードされる場合は、チェックサムを確認し、 circleci-launch-agent のバージョンを設定してください。

    クラウド版 CircleCI のセルフホストランナーは、サポートされている最新バージョンに自動的に更新されます。 サーバーの場合、特定のセルフホストランナーバージョンの相互運用性は検証されていますが、セルフホストランナーは自動更新されません。

    #!/usr/bin/env sh
    
    set -eu pipefail
    
    echo "Installing CircleCI Runner for ${platform}"
    
    base_url="https://circleci-binary-releases.s3.amazonaws.com/circleci-launch-agent"
    if [ -z ${agent_version+x} ]; then
      agent_version=$(curl "${base_url}/release.txt")
    fi
    
    # Set up runner directory
    echo "Setting up CircleCI Runner directory"
    prefix=/var/opt/circleci
    sudo mkdir -p "${prefix}/workdir"
    
    # Downloading launch agent
    echo "Using CircleCI Launch Agent version ${agent_version}"
    echo "Downloading and verifying CircleCI Launch Agent Binary"
    curl -sSL "${base_url}/${agent_version}/checksums.txt" -o checksums.txt
    file="$(grep -F "${platform}" checksums.txt | cut -d ' ' -f 2 | sed 's/^.//')"
    mkdir -p "${platform}"
    echo "Downloading CircleCI Launch Agent: ${file}"
    curl --compressed -L "${base_url}/${agent_version}/${file}" -o "${file}"
    
    # Verifying download
    echo "Verifying CircleCI Launch Agent download"
    grep "${file}" checksums.txt | sha256sum --check && chmod +x "${file}"
    sudo cp "${file}" "${prefix}/circleci-launch-agent" || echo "Invalid checksum for CircleCI Launch Agent, please try download again"
  2. プラットフォームを設定して、 download-launch-agent.sh スクリプトを実行し、バイナリをダウンロード、確認、インストールしてください。 cloud を使用している場合は、下記の表でプラットフォームの変数を見つけます。

    インストール対象変数

    Linux x86_64

    platform=linux/amd64

    Linux ARM64

    platform=linux/arm64

    macOS x86_64

    platform=darwin/amd64

    macOS M1

    platform=darwin/arm64

    例えば クラウド の場合、macOS M1のプラットフォームを設定し、 download-launch-agent.sh スクリプトを実行するには、下記を実行します。

    export platform=darwin/arm64 && sh ./download-launch-agent.sh

    Server v3.1.0 以降 の場合は、下記の表から実行しているサーバーのバージョンに互換性のあるローンチエージェントのバージョンを見つけます。

    CircleCI Server のバージョンローンチエージェントのバージョン

    3.0

    ランナーはサポートされていません

    3.1

    1.0.11147-881b608

    3.2

    1.0.19813-e9e1cd9

    3.3

    1.0.29477-605777e

    3.4

    1.0.33818-051c2fc

    <launch-agent-version> をサーバー用のローンチエージェントバージョンに置き換え、下記を実行します。

    export agent_version="<launch-agent-version>" && sh ./download-launch-agent.sh

    注: ランナーのセットアップに成功したら、download-launch-agent.sh ファイルを削除します。

  3. 次のセクションのプラットフォームごとの手順に従ってインストールを続けます。

プラットフォームごとのインストール方法

下記のプラットフォームごとの手順に従ってインストールを続けます。 必ず事前に名前空間とリソースクラスの作成を完了し、前のセクションの download-launch-agent.sh スクリプトを実行してください。

その他のプラットフォームについては、 使用可能な CircleCI セルフホストランナーのプラットフォーム で詳細を確認してください。

ジョブでセルフホストランナーを参照する

セルフホストランナーのセットアップが完了したら、 .circleci/config.yml ファイルのフィールドを設定してジョブでセルフホストランナーを参照する必要があります。 セルフホストランナーを使って実行するジョブについて、以下のフィールドを指定します。

  • machine: true

  • resource_class: your-namespace/your-resource

以下に、ジョブのセットアップ方法の簡単な例を示します。

version: 2.1
workflows:
  testing:
    jobs:
      - runner
jobs:
  runner:
    machine: true
    resource_class: your-namespace/your-resource
    steps:
      - run: echo "Hi I'm on Runners!"

この設定ファイルを VCS プロバイダーにプッシュすると、セルフホストランナーを使ってジョブが実行されます。

セルフホストランナーのサーバーとの互換性

CircleCI ランナーは CircleCI Server v3.1.0 以降で使用できます。

CircleCI Server のマイナーバージョンはそれぞれ、特定バージョンの circleci-launch-agent と互換性があります。 以下の表に、CircleCI Server バージョンごとに、セルフホストランナーのインストール時に使用できる circleci-launch-agent のバージョンを示します。

CircleCI Server のバージョンローンチエージェントのバージョン

3.0

ランナーはサポートされていません

3.1

1.0.11147-881b608

3.2

1.0.19813-e9e1cd9

3.3

1.0.29477-605777e

3.4

1.0.33818-051c2fc


ドキュメントの改善にご協力ください

このガイドは、CircleCI の他のドキュメントと同様にオープンソースであり、 GitHub でご利用いただけます。 ご協力いただき、ありがとうございます。

サポートが必要ですか

CircleCI のサポートエンジニアによる、サービスに関する問題、請求およびアカウントについての質問への対応、設定の構築に関する問題解決のサポートを行っています。 サポートチケットを送信して、CircleCI のサポートエンジニアにお問い合わせください。日本語でお問い合わせいただけます。

または、 サポートサイト から、サポート記事やコミュニティフォーラム、トレーニングリソースをご覧いただけます。