簡體   English   中英

asp.net mvc + angular 4 + TFS 2013(XAML構建)+ octopack的正確配置是什么?

[英]What is the correct configuration of asp.net mvc + angular 4 + TFS 2013 (XAML builds) + octopack?

配置項目的部署過程,並使用OctoPack將msbuild的輸出打包到nuget包時遇到一些問題。 決定獲得有關該過程的反饋,可能是我做錯了。

前提條件:

  • .net 4.6 asp.net項目,使用Angular 4前端和Angular-cli作為構建工具
  • TFS 2013(帶有XAML構建)作為構建計算機
  • GIT作為源代碼
  • 章魚作為部署框架
  • 有幾種環境,因此有幾種Web配置,它們對asp.net和angular-cli / webpack進行了轉換
  • 多個發布配置文件,包括(每個環境一個):
    • 要運行的PreBuild Event標簽:npm run build

項目結構:

  • web_project
    • \\ src-打字稿,html和scss文件
    • \\圖片
    • \\ assets-此文件夾不屬於項目/ GIT。 它是由angular-cli / webpack創建的,包含編譯,縮小和捆綁的js代碼和css文件
    • \\其他文件(index.html,web.config等)

構建過程:

Msbuid編譯C#代碼,然后執行publish命令:編譯JS代碼並將所有內容復制到自定義輸出文件夾中。

要運行構建並生成應用程序,我運行以下命令(在本地或在TFS服務器上):

MSBuild solution.sln /t:Build /p:DeployOnBuild=true /p:Configuration=development /p:PublishProfile="development"

該命令的輸出包含我需要的所有內容(包括Assets文件夾):我可以將其復制並復制到IIS。

現在,我想集成Octopack。 我已經安裝了Octopack nuget軟件包,並添加了其他參數/​​ p:RunOctoPack = true:

MSBuild solution.sln /t:Build /p:DeployOnBuild=true /p:Configuration=development /p:PublishProfile="development" /p:RunOctoPack=true

Octopack創建一個nuget包,但沒有Assets文件夾。 根據文檔,Octopack從\\ bin文件夾中獲取所有內容,但是Assets文件夾位於obj \\ Development中。 這不是解決方案的一部分,每次我運行npm build任務時都會重新創建此文件夾。

現在,問題:

  1. 流程看起來是否正常?
  2. 通過msbuild發布是唯一可能的選擇嗎? 還有其他方法可以使msbuild編譯C#,運行自定義cmd / powershell文件(以運行npm build)和轉換Web配置嗎?
  3. 如何將其他文件夾包括到Octopack中(在我的情況下:帶有已編譯JS的資產)?

感謝您的反饋

您可以通過創建nuspec文件來告訴Octopack添加其他文件。

https://octopus.com/docs/packaging-applications/creating-packages/nuget-packages/using-octopack#UsingOctoPack-包括其他文件使用aNuSpecfile(.nuspec)

您可以在其中添加要包含在軟件包中的文件和目錄的路徑。

因此,在CI服務器上,您希望在MS生成過程之前進行客戶端捆綁,以便文件存在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM