2016-06-16 81 views
1

所以我有一個主詹金斯容器ali_jenkins_m設置,其中我旋轉起來使用數據卷容器ali_jenkins_data用於存儲數據詹金斯。TFS工作區與詹金斯泊塢容器

docker run -p 8080:8080 -p 50000:50000 --name ali_jenknins_master --volumes-from ali_jenkins_data -d ali_jenkins_m 

我已經設置了一個TFS插件並映射了我們的TFS分支之一,將代碼拉入Jenkins並構建。一切運行良好,直到我刪除了我的詹金斯主容器ali_jenkins_m,然後重新創建它。重新創建時,我仍然使用數據卷容器ali_jenkins_data。我所有的數據都如預期的那樣持續下去,但我遇到了Jenkins的TFS問題。

我得到的錯誤是:

的a4d8cdb6981d是,我刪除了ali_jenkins_m的容器ID。我的新conatiner ali_jenkins_m有一個新的容器ID。我環顧四周環顧四周,弄清楚需要改變什麼才能完成這項工作。

任何指針將不勝感激。

回答

2

因此,這是TFS的問題,與Docker或Jenkins無關。我通過運行這個命令解決了這個問題。

tf workspace /delete /server:http://abc.xyz.eee:8080/tfs/IntlSysDev "HUDSON-MCA Continuous Development Build-MASTER";tfsbuild 

另一種方法,我們解決了這個問題,是在運行docker run命令時使用-h選項指定主機名。所以從上面我的碼頭運行命令現在看起來像這樣:

docker run -p 8080:8080 -p 50000:50000 -h jenkinsali --name ali_jenknins_master --volumes-from ali_jenkins_data -d ali_jenkins_m 

這是一個更好的方法來做到這一點。現在我們不需要在每次重新創建容器時運行tf workspace/delete命令

1

我遇到了完全相同的問題(這是TFS工作空間被映射到指定計算機的問題 - 它們將會是相同的如果你重新啓動碼頭集裝箱);我刪除使用Team foundation sidekicks它給你一個很好的GUI操作的工作空間(甚至其他人的工作空間,如果你有機會)

  1. 打開TFS插袋,去工具的工作空間 - >工作搭檔
  2. 指定工作空間細節(將在哈德遜錯誤消息中)
  3. 點擊搜索
  4. 找到有問題的工作區並將其移除。
  5. 再次啓動你的構建,一切都應該很好!