次の方法で共有


ビルドからのリリースのトリガー

Team Foundation ビルドを使用してアプリをビルドするときにリリースを自動的に開始します。 開始するリリース プロセスのステージを選択できます。 ビルドからのリリースをトリガーするには、ビルド プロセスとリリース パスの両方を構成する必要があります。

リリース パスをまだ作成していない場合は、ここに移動して、作成します。

また、ビルド システムを設定していない場合は、この段階で設定します

ビルド プロセスの構成

  1. ビルド定義を編集するアクセス許可がない場合は、この段階で取得します

  2. Visual Studio、チーム エクスプローラーから、作業するチーム プロジェクトに接続します (キーボード: Ctrl + 0、C)。

  3. [ビルド] ページビルド アイコン (キーボード: Ctrl + 0、B) で、ビルド定義を作成または編集します。

  4. ビルド定義の [プロセス] タブで、今回のリリースで使用する構成を選択します (たとえば、デバッグやリリース)。 [リリース ビルド] を True に設定します。 リリースのために発生する特定のステージを選択するか、または最初のステージから開始する場合にはこのフィールドを空白のままにしておきます。

    リリース ビルド引数

    [リリース] セクションが表示されない場合、

    • Q: 既定のテンプレートを使用します。 Release Management にはどのビルド プロセス テンプレートを使用して、どのように TFS に追加すればよいでしょうか。

    • Q: アップグレード テンプレートを使用します。 Release Management にはどのビルド プロセス テンプレートを使用すればよいでしょうか。

    • Q: カスタム ビルド プロセス テンプレートを使用します。 リリースをトリガーするにはどのようにワークフロー ロジックを追加すればよいでしょうか。

    ターゲット環境によって異なる値を必要とする構成ファイルを含むコンポーネントがある場合、構成ファイルをトークン化できます。

  5. ビルド プロセスに必要なその他の設定を指定し、ビルド定義を保存します。

リリース テンプレートの構成

  1. ビルド サーバーに Release Management Client for Visual Studio 2013 をインストールしていない場合は、この段階でインストールします。 Release Management サーバーに接続できるように Release Management クライアントを構成します。

    ビルド サーバーにクライアントをインストールしたら、ビルド サービスを再起動します。 これは、Team Foundation Server 管理コンソールから実行できます。

  2. リリース テンプレートで、ビルドをトリガーするために設定したビルド定義を選択し、チェック ボックスをオンにして、リリースをトリガーするビルド プロセスを有効にします。

    リリース テンプレート用の [プロパティ] ページ

    ビルド定義の選択が表示されない場合は、Release Management クライアントに TFS 接続を追加する必要があります。 ([管理] セクションの [TFS の管理] タブから接続を追加します。)

    リリースがトリガーされると、選択したステージの手順に進みます。 このステージで [受け入れ手順][配置手順]自動に設定されていない場合は、リリースは開始しません。 リリース パスで自動化されるように、これらの手順をマークする必要があります。

Q & A

ms181355.collapse_all(ja-jp,VS.120).gifQ: 既定のテンプレートを使用します。Release Management にはどのビルド プロセス テンプレートを使用して、どのように TFS に追加すればよいでしょうか。

A: 既定のテンプレートを使用している場合、必要な操作はこれを対応するリリース管理プロセス テンプレートで置き換えることです。

  1. ファイルを投稿するまたはビルド定義を編集するアクセス許可がない場合は、この段階で取得します

  2. Visual Studio、チーム エクスプローラーから、作業するチーム プロジェクトに接続します (キーボード: Ctrl + 0、C)。

  3. ドライブ:\Program Files (x86)\ Microsoft Visual Studio 12.0\ReleaseManagement\bin フォルダーで、必要なテンプレートを検索します。 または、このブログの投稿にアタッチされている zip ファイルからこのディレクトリにテンプレートをダウンロードします。

    • TFS 2013

      • TFVC アイコン TFVC: ReleaseTfvcTemplate.12.xaml。

      • Git アイコン Git: ReleaseGitTemplate.12.xaml

    • TFS 2012: ReleaseDefaultTemplate.11.1.xaml

    • TFS 2010: ReleaseDefaultTemplate.xaml

  4. バージョン管理にテンプレートを追加します。 チーム プロジェクトの BuildProcessTemplates フォルダーにテンプレートを配置することをお勧めします。

  5. [ビルド] ページビルド アイコン (キーボード: Ctrl + 0、B) で、ビルド定義を作成または編集します。

  6. [プロセス] タブで、[新規作成] をクリックして、[ビルド プロセス ファイル] に使用するテンプレートを選択します (追加したテンプレートを参照して選択できるようになります)。

ms181355.collapse_all(ja-jp,VS.120).gifQ: カスタム ビルド プロセス テンプレートを使用します。リリースをトリガーするにはどのようにワークフロー ロジックを追加すればよいでしょうか。

A: カスタム ビルド プロセス テンプレートにセクションを追加して、ワークフロー ロジックを提供します。 ここで、これらのセクションがあるスニペット ファイルをダウンロードします。 スニペットを使用して、ビルド プロセス テンプレートに次の引数を追加します: ConfigurationsToRelease、ReleaseBuild、ReleaseTargetStage、DropBuild。

ビルド プロセス テンプレートを保存します。 Team Foundation バージョン管理を使用している場合は、これにチェックインします。 Git を使用している場合は、ビルド プロセス テンプレートをコミットおよびプッシュします。

ms181355.collapse_all(ja-jp,VS.120).gifQ: アップグレード テンプレートを使用します。Release Management にはどのビルド プロセス テンプレートを使用すればよいでしょうか。

A: ここで、実行する必要がある作業を参照します。

ms181355.collapse_all(ja-jp,VS.120).gifQ: 別のコンピューターにアプリのコンポーネントを配置できますか。

A:: はい、コンポーネントを Release Management クライアントで作成し、リリース テンプレートに追加します。

これで、ビルドにこれらのコンポーネントを追加できます。

リリース テンプレートにコンポーネントを追加

コンポーネント ウィンドウが表示されたら、追加するコンポーネントをダブルクリックします。

追加する各コンポーネントは、アプリケーションを使用したビルドまたは外部でビルドとして構成する必要があります。

[コンポーネント] ページ、[ソース] タブ

[ビルド格納場所]'\' は、ビルドが格納フォルダーのルートにあることを示します。

ms181355.collapse_all(ja-jp,VS.120).gifQ: コンポーネントを配置するには、どのツールを使用できますか。

A: 定義する各コンポーネントについて、[配置] タブから使用するツールを選択できます。 各ツールの詳細については、こちらを参照してください。

[コンポーネント] ページ、[配置] タブ

引数をこのコンポーネントの配置に固有の情報で置き換えます。

カスタム ツールを使用するには、まず、ツールをインベントリ ページから追加して、[配置] タブで選択します。

コマンドで参照するすべてのファイルが、配置時にパッケージの場所で使用可能であることを確認します。

ms181355.collapse_all(ja-jp,VS.120).gifQ: リリースはなぜ開始しなかったのですか。

考えられる問題のいくつかを次に示します。

  • リリースをトリガーするビルドを構成し (Release Build=True)、リリース テンプレートの [ビルドからリリースをトリガーできますか?] チェック ボックスをオフにする場合。 これにより、実際にビルドが失敗するため、リリースは開始されません。

  • リリースをトリガーするように設定されていない (Release Build=False) または正しいリリース ロジックを含まない、ビルド定義を使用するようにリリース テンプレートを構成する場合。

  • リリース テンプレートに個別にビルドするように構成されたコンポーネントが含まれている場合。

  • リリースからトリガーするように選択したステージで [受け入れ手順][配置手順]自動に設定されていない場合は、リリースは開始しません。 このリリース パスに自動化されるようにこれらの手順を設定する必要があります。

  • Team Foundation ビルド サーバーを実行しているコンピューターに Release Management クライアントをインストールしていない場合。

  • 配置が完了するまでに要した時間が 10 分を超える場合。 設定ページの [管理] タブで、[TFS によりトリガーされた配置タイムアウト] に割り当てられている値を変更できます。

ms181355.collapse_all(ja-jp,VS.120).gifQ: ターゲット環境によって異なる値を必要とする構成ファイルをどのように処理すればよいですか。

A: トークン化された構成ファイルを使用します。

別の環境の異なる値を必要とするソリューションの各構成ファイルに、そのファイルのトークン化されたバージョンを作成します。

たとえば、ソリューションに web.config という名前のファイルが含まれている場合は、そのファイルのコピーを作成し、web.config.token という名前で保存します。 web.config ファイルは変更されず、アプリをローカルで実行する場合に使用されます。 web.config.token ファイルには、実際の値の代わりにトークンが含まれます。

たとえば、web.config ファイルに次の行が含まれていて、

<add key="SMTPHostServer" value="mysmtp.myserver.domain"/>

web.config.token ファイルに次の行が含まれていて、SMTPHostServer がトークンである場合は、

<add key="SMTPHostServer" value="SMTPHostServer"/>

ローカル ファイルとトークン化されたファイルの同期を保持します。

ms181355.collapse_all(ja-jp,VS.120).gifQ: トークンを変数で置き換えるためにスキャンするファイルをどのように定義しますか。

A: 定義する各コンポーネントについて、[構成変数] タブでファイル拡張子フィルターを指定できます。

[コンポーネント]、[構成変数] タブ

コンポーネントに指定した配置エージェントでは、トークンを変数で置き換えるために必要な一連のファイルをスキャンするためにパターン マッチが使用されます。 セミコロン (;) を使用して、複数のファイル拡張子を区切ります。