簡體   English   中英

Team Foundation Server中的自動構建

[英]Automated Builds in Team Foundation Server

我正在為我的解決方案設置自動構建。 但是,我在將某些信息復制到某些文件夾時出現錯誤。 這適用於我的解決方案中的每個項目都有的構建事件。

我想知道的是,是否有辦法“關閉”項目中的各個構建事件,或者是否有一個參數設置在哪里可以關閉這些構建事件?

我已經建立的自動構建已經完成了單個項目構建事件應該做的事情,因此它試圖重復自身並導致問題。 我仍然需要將構建事件與項目相關聯,因為當它們在開發環境之外運行時,它們需要發生以使應用程序正常運行(構建事件與動態更新信息有關)。

簡而言之,有沒有辦法在我的解決方案中關閉與每個項目相關聯的構建而不實際刪除它們? 我需要他們在那里,當我在開發環境中運行自動構建時,我只需要它們是“隱形”的。

我為所有事情的冗長和含糊而道歉,有時很難解釋事情,而不會放棄太多。

編輯:不是一個編輯,因為它是清晰的附加信息,但盡管如此。 我想要實現的基本目標是禁用與我的解決方案中的每個項目相關聯的“后期構建”。 我想保留它們,只需在我通過內部自動構建/測試運行它們時禁用它們

經過對“BuildingInsideVisualStudio”屬性的大量研究以及大量調整以使語法正確,我的團隊和我找到了我們想要的東西。

我們插入了聲明

if '$(BuildingInsideVisualStudio)' == 'true' <executed code>

在項目的屬性>構建事件選項卡下的“構建后事件命令行”部分中的格式。

像這樣的一些后期構建腳本代碼應該工作:

if "$(BuildingInsideVisualStudio)"=="" (
    @echo TFS build
) else (
    @echo Visual Studio build
)

將現有代碼放在適當的塊中,具體取決於您是希望它僅在VS版本中運行,還是僅在TFS版本中運行

您還可以將.csproj文件更改為以下內容:

  <PropertyGroup Condition=" '$(BuildingInsideVisualStudio)' == 'true' ">
    <PostBuildEvent>commands to execute</PostBuildEvent>
  </PropertyGroup>

遺憾的是,Visual Studio不會在“構建事件”選項卡中顯示任何信息,因此將來維護可能會更加困難。

您可以檢查任何團隊構建屬性,看看它們是否已填充。 如果是這樣,你可以假設它是團隊建設。 我在構建中使用這種方法,以便只有在構建服務器上運行時才會發生構建后部署標記等。

這是與各種團隊構建屬性鏈接

<SomeTask Condition="$(BuildDefinitionName)!=''">

暫無
暫無

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

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