2016-04-08 51 views
0

我正在嘗試設置新的工作流程。我們在Git SCM支持的前提下使用TFS 2015。不過,我也想使用Jenkins進行構建和部署。我們正在爲android,nodejs和其他一些位構建.NET/mono Java & Java。此外,自動從J​​enkins部署到Docker。所以雖然新的TFS構建看起來更好,但我現在不想嘗試它們。TFS 2015,Git和Jenkins工作流程問題

我的問題是圍繞TFS拉請求和代碼評論。開發人員無法提交給master,我設置了分支策略,因此他們必須提交一個pull請求,其中包括將分支推送到遠程。但是,我無法設置「需要構建」策略,雖然我已經鏈接了Jenkins,但它只允許我選擇TFS構建作爲分支策略的一部分。

因此,我使用服務掛鉤功能將Jenkins鏈接到TFS,並且可以啓動TFS構建,但我不認爲它對我有幫助,因爲它必須監視特定的分支。所以相反,我只是從詹金斯投票,並對除回購以外的所有分行進行回購。

我想要做的是讓開發人員將他們的分支推送到遠程,讓Jenkins構建它(我已經得到了這個),然後以某種方式發佈構建報告或鏈接到TFS,所以當其他開發人員使用TFS UI進行代碼審查時,可以查看構建報告。 (這是我卡住的位)

一旦完成,並執行合併,其他構建執行部署等可以運行在主分支。它只是這個鏈接回到TFS我掙扎着,有其他人得到了答案

有沒有人有解決這個問題?我嘗試使用git publish插件將構建結果的url添加到git筆記,但TFS似乎無法在任何地方顯示。我曾考慮建立一個TFS版本來簡單地稱爲詹金斯的工作,但感覺有點不好意思。有沒有更好的辦法?

回答

0

我最終解決了這個問題。我所做的是讓Jenkins在拉取請求中添加另一個提交,提交中的註釋是Jenkins構建報告的鏈接。我還必須修改Jenkins的作業來忽略Jenkins用戶的提交,以防止無限循環的構建。

現在,當提交一個請求時,Jenkins選擇它,建立它並創建額外的提交。作爲審稿人,我收到一封電子郵件,提醒我已經有一個請求。我點擊鏈接去看看,當我去提交時,我看到鏈接到Jenkins構建報告。

這並不完美,但它的工作原理。這當然是比放棄更好的解決方案,因爲TFS沒有這個功能。

-1

根據您的描述,您希望從TFS觸發Jenkins,並將Jenkins構建結果發佈回TFS。

由於服務鉤子使您能夠在事件發生在您的tfs項目中時在其他服務上執行任務。但是TFS僅提供構建定義的構建報告。在TFS方面,沒有將Jenkins構建結果發佈回TFS的功能。

+0

那麼這有點失敗。正如我所說,我曾考慮創建一個叫做Jenkins構建的TFS構建。今天早上,我還與Jenkins一起添加了一個提交請求,其中包含一個鏈接到Jenkins構建結果的提交。 –