在Azure DevOps服務器上配置生成定義時,能夠配置連續集成(CI)生成。每次簽入或提交到源代碼庫時都會自動運行一個CI構建。這種機制容許開發人員啓動一個自動化的過程,例如編譯和部署構建。這是一個很是有用的過程,應該以上述方式進行許多自動話的處理,例如代碼掃描、單元測試等。可是,有時開發人員根本不但願簽入觸發生成,或者說代碼或文件的變動不須要觸發自動構建流程。服務器
例如,在更新markdown文件或其餘與文檔相關的文件時,避免觸發生成是很是有意義的;或者您可能只是更新了圖片和其餘一些非代碼類型的文本,這根本不會影響生成過程的結果。一般,它們應該存儲爲不一樣於源代碼的單獨目錄,而後您可使用基於路徑的過濾器。可是,若是咱們的文件結構,從開始就沒有按照這種目錄建立,那麼咱們如何來避免這些文件觸發自動構建呢?markdown
Azure DevOps (TFS)的Git代碼提交機制爲咱們提供了一個有趣的方法。你能夠在提交代碼時候,在註釋中的後面添加一個特殊的字符「***NO_CI***」。在Azure DevOps的代碼管理機制中,這個字符向服務器發出信號,代表您不想運行CI構建。單元測試
圖一:在提交註釋中標記「***NO_CI***」測試
圖二:即便CI流程中配置了持續集成,上圖中的提交也不blog
在這種狀況下,因爲咱們在主分支上設置了觸發器,而且如今正在使用包含***no_ci***標誌的最後一條提交消息向主分支推送,因此推送更改後不會觸發任何生成。圖片
由於提交是Git歷史的一部分,因此您老是能夠追溯到爲何某個更改沒有觸發一個構建。ci
微軟DevOps MVP 張洪君 http://www.cnblogs.com/danzhang開發
--End--文檔