0

私が取り組んでいるプロジェクトでは、TFS Build を Web Deploy と組み合わせて使用​​して、サーバーへの Web サイトとサービスの展開を処理しています。また、サーバーに展開する必要がある Windows サービスもあります。

私の質問は、Windows サービスを TFS ビルド サーバーから Web サーバーに展開する方法はありますか?

私が抱えているもう 1 つの問題は、サービスを展開する前にサービスを停止する必要があることです。ビルド構成ファイルを変更しようとしましたが、それを機能させることができませんでした。

ありがとう。

4

1 に答える 1

1

オプション:

  1. TFSBuildagent サービスを Web サーバーにインストールし、サービスを実行するユーザーに Web サーバーの管理者権限を付与すると、展開/インストール専用の新しいビルド定義を作成できます。これは非常に単純で簡単ですが、Web サーバーの数が限られている (2000 台のサーバーすべてに TFS BUild エージェントをインストールしたい) 場合にのみ機能し、非運用環境でのみ機能します。これは、本番環境以外の展開で行っている方法です。サービスの停止などのすべてを処理する、展開専用のビルド定義を作成しました。

  2. ビルド サーバーで TFSBuild サービスを実行するユーザーが Web サーバーで十分な権限を持っている場合は、psexec または powershell を使用してコマンドをリモートで実行できます。以下のリンクをお読みください: 1. PSEXEC

  3. Powershell リモート コマンド

ビルド構成ファイルでサービスを停止するために何をしましたか? ユーザーは十分な権限を持っていますか?

TFS ビルド ワークフローでリモート マシン上でスクリプトを実行するのに役立つ組み込みのアクティビティ/プロセスはありません。

ステップ 1 は、リモート マシンでスクリプトを実行する方法を特定することです。前述のように、PSEXEC または Powershell を使用できます (ただし、リモート コンピューターで PowerShell を実行する場合は、セットアップが少し複雑になる場合があります)。

ステップ 2、作業を実行する実際のスクリプトを作成し、サービスを停止し、MSI をインストールします。

ステップ 3、現在のビルド定義を編集する - 新しいカスタム アクティビティを作成するか、ビルド定義内から InvokeProcess アクティビティを使用して、ステップ 2 で作成したスクリプトを呼び出します。InvokeProcess アクティビティ

于 2013-07-25T14:57:54.420 に答える