SSH 実行
SSH Exec により、TeamCity は SSH を使用して任意のリモートコマンドを実行できます。
ここでは、すべてのランナーに共通の設定について説明 します。 この記事では、SSHExec ランナーの設定について詳しく説明します。
以下のフィールドでは パラメーター参照を使用できます。パーセント記号 (%) で囲まれたテキストは、TeamCity によってプロパティへの参照と見なされます。 TeamCity がパーセント記号で囲まれたテキストをプロパティへの参照として扱わないようにするには、パーセント記号を二重にしてエスケープします。たとえば、 %Y%\m%d%\H%M%S をビルドに渡す場合は、 %%\Y%%\m%%\d%%\H%%\M%%S に変更します。
オプション | 説明 |
|---|---|
ステップ名 | 省略可 TeamCity UI に表示されるビルドステップの名前。 |
ステップ ID | このビルドステップの ID。この構成内のすべてのステップで一意である必要があります。 URL、REST API、DSL、サーバーへの HTTP リクエスト、TeamCity データディレクトリの構成設定で使用されます。 |
ステップ実行 | デフォルトのビルド条件を変更したり、オプションで ビルド条件を追加したりできます。 |
デプロイターゲット | |
ターゲット | SSH サーバーのホスト名または IP アドレス。 |
ポート | オプションのポート。 デフォルトはポート 22 です。 |
pty を使用 | 任意疑似ターミナル (pty) の種類を指定します。 例: 空の場合、pty は割り当てられません (デフォルト)。 |
デプロイ資格情報 | |
認証方式 | 認証方法を選択します。
|
SSH コマンド | |
コマンド | リモートシェルで実行する一連のコマンドを改行で区切って指定します。 リモートシェルは、認証されたユーザーのホームディレクトリで起動されます。 シェル出力は TeamCity ビルドログで確認できます。 |
サンプル
例: Web サイトの静的コンテンツを構築するビルドステップを作成する方法を検討してください。 静的コンテンツを Web サーバーにアップロードした後、 deploy.sh スクリプトを実行してサイトをリフレッシュする必要があります。 ホームディレクトリ /jdoe を持つ SSH サーバー上で jdoe アカウントを使用し、SSH サーバーが認証に SSH キーを使用するように構成されているとします。
生成された SSH 鍵の手順に従って、プロジェクトで新しい SSH 鍵ペアを生成します。 キーペアを
Web サーバーキーと呼びます。Web サーバーキーキーペアから公開鍵をコピーします。SSH サーバー上の
jdoeアカウントにログインし、SSH サーバープロバイダーの指示に従って、Web サーバーキー公開鍵をこのアカウントに追加します。プロジェクトのビルド構成で、 ビルドステップ ページに移動し、 ビルドステップを追加 をクリックします。
新しいビルドステップ ページで、 SSH 実行 ランナーを選択します。
新規ビルドステップ: SSH Exec ページで、次のようにフィールドに入力します。
ステップ名 —
デプロイスクリプトを実行を入力ターゲット —
ssh.example.comを入力認証方式 — アップロードされたキーを選択してください
ユーザー名 —
jdoeと入力 (SSH サーバー上のアカウントのユーザー名)鍵を選択 — ドロップダウンリストから
Web サーバーキーを選択しますコマンド — 次のシェルコマンドを入力します。
echo 'running deploy.sh ...' /home/jdoe/scripts/deploy.sh
「保存 」をクリックしてビルドステップを作成します。