TeamCity

KeeperシークレットマネージャープラグインでTeamCityビルドのシークレットにアクセス

概説

TeamCityは汎用CI/CDソフトウェアプラットフォームで、柔軟なワークフロー、コラボレーション、開発慣行を可能にします。DevOpsプロセス内で継続的インテグレーション、継続的デリバリー、継続的デプロイメントを実現するソリューションです。

本プラグインにより、TeamCityサーバー(バージョン2018.1以降)をKeeperシークレットマネージャーと統合し、TeamCityでのシークレット管理をより簡単かつ安全に行えます。

機能

  • TeamCityビルドでKeeperボルトのシークレットを利用

  • KeeperシークレットマネージャープラグインをTeamCityの接続としてインストール

前提条件

インストール

JetBrainsプラグインリポジトリからインストール

  • TeamCityの**[Administration | Plugins]に移動し、[Browse plugins repository]**をクリックします。

  • Keeper Secrets Managerプラグインを見つけ、[Get] をクリックし、[Install to http[s]://<teamcityUrl>] を選択します。

  • **[Install]**をクリックしてインストールを確定します。

  • インストール後にプラグインを有効にするには、プラグインのコンテキストメニューから [Load] を選択します。

Web UI経由でプラグインをインストール

  • GitHubからTeamCity KSMプラグインZIPファイルの最新版をダウンロードします。

  • [Administration | Plugins] ページに移動し、対応するリンクからローカルマシンのプラグインZIPアーカイブをアップロードします。

プラグインを手動でインストール

  • ZIPプラグインパッケージを<TeamCity Data Directory >/plugins ディレクトリにコピーします。ディレクトリ内に以前のバージョンのプラグインがある場合(パッケージ名が異なる場合があります)は削除してください。

プラグインを有効にする

  • インストール後にプラグインを有効にするには、プラグインのコンテキストメニューから**[Load]**を選択します。サーバーを再起動せずにプラグインが有効になります。

Web UI経由でプラグインをアンインストール

  • [Administration | Plugins] に移動し、リストから外部プラグインを見つけ、横の矢印アイコンをクリックして**[Delete]**を選択します。

  • プラグインが削除されると、ページにサーバーを再起動するオプションが表示されます。クリックし、[Administration | Plugins] のリストにプラグインのバージョンが表示されなくなったことを確認します。

プラグインを手動でアンインストール

  • <TeamCity Data Directory>/pluginsディレクトリからプラグインパッケージを削除し、TeamCityサーバーを再起動します。

設定

接続の設定

接続を作成すると、現在のプロジェクトにネストされたすべてのサブプロジェクトで利用できます。ルートプロジェクトに接続を追加すると、サーバー全体で利用可能になります。

接続を追加するには、対象プロジェクトの設定に移動し、[Connections] ページを開いて [Add Connection] をクリックします。接続タイプ [Keeper Vault] を選択し、他の接続と区別する [Display name] を設定して、以下の手順で構成します。

  • [Project Administration | Connections][Add Connection] をクリックします。

  • 接続タイプとして [Keeper Vault] を選択します。

  • トークンを指定します。有効なKSM構成を貼り付けます(前提条件をご参照ください)。

  • 接続を保存します。

TeamCityビルドでシークレットを使用

TeamCityサーバーからKeeperボルトのシークレットを利用するには、以下が必要です。

ビルド構成設定でビルドパラメータを使用

ほとんどのビルド構成設定では、プレーンテキスト値の代わりにビルドパラメータへの参照を使用できます。ビルド開始前に、利用可能なパラメータですべての参照が解決されます。解決できない参照はそのまま残り、ビルドログに警告が表示されます。ビルドパラメータを参照するには、名前をパーセント文字で囲みます(例: %env.KsmSecret1%)。

[Parameters] タブでは、パラメータ、プロパティ、変数の追加、編集、削除、または事前定義値の再定義が行えます。

ワークフローの例

ビルド構成レベルでビルドパラメータを定義し、ビルドステップで使用します。

  1. [Build Configuration Settings | Parameters] に移動します。

  2. [Add new parameter] をクリックします。

  3. パラメータの名前と値を入力します。[Kind][Environment variable (env.)] に変更します。

    • Name: username

    • Value: %keeper://UserRecord1/fields/login%

  1. パラメータを保存します。

  2. [Build Steps] に移動します。

  3. [Add build step] をクリックします。

  4. Command Lineランナータイプを選択します。

  5. [Custom script] フィールドに以下のコマンドを入力します。

    echo UserName %env.username%

    ビルド時、このコマンドは以下のように解決されます(ログでは実際の値はマスクされますが、コマンドでは使用されます)。

  6. ビルドステップを保存し、新しいビルドを実行します。

パラメータ例:

  • 環境変数 env.User: keeper:abcdABCDabcdABCDuvwxyz/field/login

  • 環境変数 env.Secret: keeper://MyRecord1/custom_field/Secret1

最終更新