SSH エージェント
SSH エージェント ビルド機能は、ビルド中に、アップロードされた SSH キーを選択して SSH エージェントを実行します。ビルドスクリプトが SSH クライアントを実行すると、読み込まれたキーを使用して SSH エージェントが使用されます。
SSH キーのアップロードに関するメモについては、SSH 鍵管理を確認してください。
エージェントのセットアップ
TeamCity SSH エージェントは、Linux および macOS に含まれる OpenSSH のネイティブ SSH エージェントを使用するため、これらの OS ではこの機能はすぐに使用できます。Windows の場合、OpenSSH をインストールする必要があります (たとえば、CygWin、MinGW の一部として、または Windows 用の Git ディストリビューションの一部として)。
SSH エージェントは、Unix ライクな OS では $PATH に、Windows では %PATH% に追加する必要があります。
TeamCity ビルドエージェントごとに、個別の SSH エージェントが開始されるため、同じマシンに複数のビルドエージェントがインストールされている場合、この機能を使用できます。
SSH ホスト鍵チェックの無効化
リモートホストに初めて接続するとき、SSH クライアントは、~/.ssh/known_hosts の既知のホストデータベースにリモートホストのフィンガープリントを追加するかどうかを確認します。
ビルド中にこのようなプロンプトを回避するには、事前に既知のホストデータベースを構成する必要があります。接続しているホストを信頼する場合、既知のホストチェックを無効にできます。
~/.ssh/configに次のような内容を追加して、すべての接続に対して実行します。Host * StrictHostKeyChecking noまたは、
-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=noオプションを使用して SSH クライアントを実行し、個々のコマンドを実行することもできます。
ssh (英語)、 ssh-agent (英語)、 ssh-add (英語) コマンドの詳細については、man ページを参照してください。
1 つのビルドで複数のキーを使用する
ビルドが複数の外部システムで認証する必要がある場合、複数の SSH キーを使用できます。
ビルドで複数の SSH キーを使用するには:
ビルドが開始されると、サーバーから SSH キーをダウンロードし、他のビルドステップの要求に応じてキーを配布する SSH エージェントを実行します。
関連ページ:
ビルド機能を追加する
ビルド機能は、追加の機能を有効にするために任意のビルド構成に追加できる機能です。例: ステータス発行者のコミットビルド機能は、コードファイルを保存する VCS に TeamCity ビルド結果を公開し、調査自動割り当ては最新の変更によってビルドが壊れたユーザーを識別し、これらの問題を解決するタスクを自動的に割り当てます。構成されたビルド機能は、削除することなくいつでも一時的に無効にできます。TeamCity ビルドの特徴:TeamCity には、構成に追加できる次のビルド機能が付属しています。A...
SSH 鍵管理
秘密 SSH キーを TeamCity プロジェクトにアップロードできます。アップロードされたキーは、VCS ルートの設定時および SSH エージェントビルド機能で使用できます。サポートされているキー形式:TeamCity は、PEM および OpenSSH 形式のキーをサポートします。異なる形式を使用するキーは変換する必要があります。例:PuTTY キージェネレーターを使用して、サポートされていない Putty 秘密鍵 () を PEM 形式に変換できます。これを行うには、変換 | OpenS...
ビルドチェーン
ビルドチェーンは、相互接続されたビルド構成とパイプラインの作成と編集のシーケンスです。チェーンは、完全に実行することも、部分的に実行することもできます。どちらの場合も、トリガーされた構成またはパイプラインによって、その上流の依存オブジェクトが最初に実行されます。例: 下のダイアグラムは、サンプルビルドチェーンを示しています。+------------+ +----------------+ +--------+ | Build core |---->| Build plugin A |--...
共有リソース
共有リソースビルド機能を使用すると、外部 (CI サーバー) リソースたとえば、テストデータベースや接続数が制限されたサーバーなどなどの共有リソースを使用して、同時に実行されるビルドを制限できます。このようなリソースの一部は、同時にアクセスできますが、接続数は制限されます。また、排他的アクセスが必要なものもあります。共有リソースにさまざまなロックを追加すると、これらのケースに対処できます。プロジェクトレベルでリソースを定義し、そのパラメーター (型やクォータなど) を構成してから、共有リソースビ...
VCS ラベリング
TeamCity は、バージョン管理システムで特定のビルドのソースに(自動または手動で)ラベルを付ける(タグを付ける)ことができます。適用されたラベルとその適用ステータスのリストは、ビルド結果の変更タブに表示されます。自動 VCS ラベル付け:TeamCity を設定して、ビルドのステータスに応じてビルドのソースに自動的にラベルを付けることができます。ラベル付けは標準の通知イベントではありません。ビルドが終了した後にバックグラウンドで実行され、ビルドステータスには影響しません。ただし、現在のビ...