プロジェクトの展開プロセスを設定し、msbuildの出力をOctoPackでパッケージ化したナゲットパッケージにいくつかの問題があります。プロセスに関するフィードバックを得ることを決めた、私は何か間違っているかもしれない。asp.net mvc + angular 4 + TFS 2013(XAMLビルド)+ octopackの正しい設定は何ですか?
前提条件:角度4フロントエンドとを有する
- .NET 4.6 asp.netプロジェクト角度-CLIビルドマシンとしてTFS 2013
- (XAMLビルド付き)ビルド・ツールとして
- GITのソースコードとして
- Octopusをデプロイメントフレームワークとして
- いくつかの環境がありますので、asp.netとfの変換を含むいくつかのWeb設定があります実行するための
- 事前に作成イベントタグ:または角度-CLI/WebPACKの
- には、いくつかは、(各環境ごとに1つ)が含まれたプロファイルを公開:実行ビルド
プロジェクト構造をNPM
-
web_project
- \資産の画像\
- typescriptです、htmlとSCSSファイル - -
- SRC \このフォルダには、プロジェクト/ GITの一部ではありません。これは、角度-CLI/WebPACKのと、コンパイル縮小さとJSバンドル含むコードとCSSファイル
- \他のファイル(index.htmlに、web.configファイルなど)
ビルドプロセスによって作成されます:
MsbuidはC#コードをコンパイルし、publishコマンドを実行します:JSコードをコンパイルし、すべてをカスタム出力フォルダにコピーします。
MSBuild solution.sln /t:Build /p:DeployOnBuild=true /p:Configuration=development /p:PublishProfile="development"
このコマンドの出力は、私が(資産フォルダを含む)必要なものがすべて含まれています:私は取ることができ
アプリケーションをビルドを実行して生成するには、私は、次のコマンド(ローカルまたはTFSサーバー上)を実行しますそれをIIS用にコピーします。
今、Octopackを統合したいと思います。私はOctopackのnugetパッケージをインストールし、追加のパラメータ/ Pを追加しました:RunOctoPack =真:
MSBuild solution.sln /t:Build /p:DeployOnBuild=true /p:Configuration=development /p:PublishProfile="development" /p:RunOctoPack=true
Octopackがnugetパッケージを作成しますが、それは資産フォルダを持っていません。ドキュメントによると、Octopackは\ binフォルダからすべてを取得しますが、Assetsフォルダはobj \ Developmentに存在します。これはソリューションの一部ではありません。このフォルダは、npmビルドタスクを実行するたびに再作成されています。今
質問:
- は、プロセスワークフロールックOKをしていますか?
- msbuild経由の公開は唯一可能なオプションですか? msbuildをC#でコンパイルし、カスタムcmd/powershellファイルを実行して(npm buildを実行する)、Web configsを変換する他の方法はありますか?
- Octopackに他のフォルダを含めるにはどうすればいいですか(私の場合、Assets with compiled JS)?
あなたはnuspecファイルを作成することにより、ファイルを追加するOctopackを伝えることができ、フィードバック
解決方法を見つけましたか?同様の状況で、しかしTeamCity&Octopusで。 – Tom