0

構成ごとに異なるアーティファクトパスを設定しようとしています。例えば

チームシティの一般的な設定では、次のアーティファクトパスを指定しています。

testing\obj\Deploy-Dev\package
testing\obj\Deploy-Test\package
testing\obj\Deploy-Live\package

しかし、私が以下を使用してサイトを公開しているとき:

/M /P:Configuration=%env.Configuration% /P:DeployOnBuild=True/P:DeployTarget=MSDeployPublish /P:MsDeployServiceUrl=%env.TargetServer%/MsDeployAgentService /P:DeployiisAppPath=%env.IISPath% /P:MSDeployPublishMethod=RemoteAgent /P:CreatePackageOnPublish=True /P:Username=%env.username% /P:Password=%env.password%

このステップでは、1つの構成のみを使用しています。これらのアーティファクトパスを指定することで想定しています。また、指定された構成に従ってWeb構成を変換します。ただし、実際にパッケージ化するときに指定したものを変換するだけです。

すべてのパッケージでWeb構成を変換する方法も考えられます。

4

3 に答える 3

1

あなたの質問を完全に理解しているかどうかはわかりませんが、ここにあなたが尋ねていると思うものがあります。「同じパッケージを複数の異なる環境に公開できるように、必要なすべてのweb.config変換を含むWebパッケージを作成するにはどうすればよいですか?」

残念ながら、パッケージ化が機能する方法は、ビルド中のビルド構成のweb.configトランスフォームを使用してweb.configがトランスフォームされることです。次に、変換されたweb.configファイルがパッケージに組み込まれます。変換ファイルはパッケージ化されていません。

単一のパッケージを作成し、それを別の場所に公開することが重要であることを私は理解しています。ボックスに機能を組み込むことはできませんでしたが、この場合に役立つNuGetパッケージPackageWebを作成しました。http://sedodream.com/2012/03/14/PackageWebUpdatedAndVideoBelow.aspxに5分間のビデオを投稿しました。これをご覧ください。私はそれがあなたのシナリオに役立つとかなり確信しています。参考までに、package-webのコードはhttps://github.com/sayedihashimi/package-webのオープンソースです。いくつかの既知の問題があります。これを使用することになった場合は、私に知らせてください。

于 2012-06-22T02:46:27.010 に答える
0

チームシティアーティファクトパスの環境変数を設定してみてください。

tests \ obj \%env.Configuration%\ package

トロイハンター-あなたはそれを間違って展開しています!TeamCity、Subversion、およびWeb配置パート5:TeamCityを使用したWeb配置

于 2012-06-21T14:11:51.187 に答える
0

アーティファクトパスは、ビルド/パッケージングプロセスには影響しません。それらは、ビルド後にいくつかのファイル/フォルダを利用可能な状態に保ち、さらにアクセスできるようにする機能を提供するだけです。

3つの異なるパッケージを作成する場合は、構成で3つの対応するビルドステップを指定し、「%env.Configuration%」を削除する必要があります。

于 2012-06-21T19:54:45.530 に答える