我們在工作中使用VisualSVN作爲我們的源代碼庫。我無法控制它(開發人員),我需要圍繞他們目前正在使用它的自動化工作開展工作。TeamCity - SVN更新?
將每個應用程序分解爲不同的代碼分支,這些代碼分支對於Dev當前如何使用它來說,也充當其版本。因此,我正在從SVN中的每個應用程序的分支文件夾進行部署,而不是使用Trunk。
其中一些構建版本構建了許多正在開發的其他應用程序使用的通用文件,並充當這些構建的先決條件。由於一些repo的使用包含多個分支,其中一個分支由一個應用程序使用,另一個分支用於另一個應用程序,因此我不希望將TeamCity設置爲執行清理/檢出,然後必須重新構建所有這些分支。
爲了解決這個問題,我認爲只要在結帳設置中取消選中「清理」選項就可以糾正此問題。但是我注意到,只需取消選中乾淨選項不一定會轉換爲簡單的SVN更新,因爲它會手動執行更新。
例如:手動,如果我進入我的簽出目錄並刪除了一個代碼分支文件夾,然後我可以回去做一個右鍵單擊 - > SVN更新根文件夾,它會檢測到我是錯過了該分支並將其拉回。
但是,在TeamCity中,從結帳文件夾中刪除代碼分支文件夾,然後重新運行作業,它不會檢測到該分支丟失並重新檢查。當然構建失敗,就是這樣。這使我認爲,當一個新的分支到位時,它不會檢查出來嗎?
我是否缺少一些其他參數或明顯的選項讓TeamCity執行此更新?
如何管理對其他分支中的公共文件的依賴關係?你使用SVN外部特徵嗎? 其次,你可以爲依賴設置自動nuget包裝嗎?他們仍然可以留在他們獨立的分支機構等,但需要他們的應用程序只會使用包而不是源代碼。 – gezzahead
讓我先說我對這些工具非常陌生,並且隨時瞭解它們。我不熟悉SVN外部是什麼。對於依賴關係,我一直在構建項目中使用快照依賴項來構建構建鏈。我不熟悉nuget,所以我將不得不進行調查。 – h2ocool