簡體   English   中英

自動刪除TFS中的文件(Git和Jenkins集成)

[英]Deleting files in TFS automatically (Git and Jenkins integration)

我有一個git存儲庫設置(使用gitblit),Jenkins和Team Foundation Server(TFS)。 我正在嘗試做的是:

1)讓工程師將代碼提交到git存儲庫中。

2)Jenkins將編譯代碼。

3)Jenkins將把代碼更改添加到TFS中。

很簡單吧? 好吧,我遇到了在TFS中反映已刪除文件的問題。 我的工作如下:

1)Jenkins運行一個腳本,該腳本刪除Jenkins工作區中的所有文件和文件夾

2)然后,Jenkins將文件從git repo克隆到Jenkins工作區。

git clone git://devfilesrepo.company.com/DevFiles.git %WORKSPACE%

3)Jenkins執行具有以下TFS命令的批處理文件:

set checkinComment=%1
tf workfold /collection:http://faketfs:8080/faketfs/DefaultCollection     /workspace:DevFiles /map $/Dev/DevFiles "C:\Jenkins\jobs\DevFiles\workspace" /login:Company\admin,fakePass
tf checkout "C:\Jenkins\jobs\DevFiles\workspace" /noprompt /recursive /login:Company\admin,fakePass
tf add "C:\Jenkins\jobs\DevFiles\workspace" /noprompt /recursive /login:Company\admin,fakePass
tf resolve /auto:KeepYours /noprompt /recursive /login:Company\admin,fakePass
tf checkin /comment:%checkinComment% /noprompt /recursive /login:Company\admin,fakePass

現在,如果在進入Git時添加或編輯文件,上述命令非常有用。 但是,如果曾經從Git刪除文件,則該文件不會反映在TFS中。

使情況更加復雜。 我還需要將一些文件添加到TFS中,該文件在Git存儲庫中不應該存在。

我可以運行一個TFS命令來反映已刪除的更改嗎?

我本來打算在從Git添加文件之前刪除TFS文件夾,但隨后我也將刪除直接添加到TFS的文件。 我聽說過Git-TF和Git-TFS,這些實用程序是否能夠滿足我的需求? 如果是這樣,我可以運行哪些命令將代碼從Git轉移到TFS?

謝謝

要提取刪除內容,您需要將方法更改為類似的方法。

  • 像現在一樣運行tf checkout命令
  • 通過常規命令行方法刪除文件夾內容,但要保留的文件不在git中,但不包括這些文件。 您需要首先對attrib -r文件進行attrib -r關閉,以關閉只讀標志。
  • 將git repo的內容復制到該文件夾​​中
  • 使用TFS電動工具 ,尤其是tfpt online命令。 TFS會將服務器工作空間與本地文件系統的內容進行比較,並將其檢測到的所有添加,刪除和編輯添加到待定更改中。 您需要的特定命令是

tfpt online /adds /deletes /diff /noprompt /recursive <folderName>

  • 像現在一樣運行tf resolvetf checkin命令。

您可能需要稍微調整一下方法,但這應該可以為您提供幫助。

暫無
暫無

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

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