2010-12-01 68 views
7

有沒有人有一個對其他的意見。雖然網絡走到atlassian竹

我們正在考慮試圖將我們從開發到測試的發佈過程自動化到生產測試中,包括運行單元測試,具有代碼審查和強制允許誰允許從UAT生成構建到生產的權限。

+0

發現轉到標籤指的是圍棋的編程語言。 – peterSO 2010-12-01 22:34:57

+1

投票只是爲了答覆它的人的水平:) – Spedge 2011-10-12 13:06:07

回答

4

免責聲明:我是竹

的產品經理

@Bernard:你能提供你周圍的過程中的一些更多的細節?

  • 是UAT測試手動測試?
  • 在你的情況下推入生產意味着什麼?
  • 您是否期望在部署結束時有單個生成結果?

Bamboo 2.7是我們的第一個版本,它允許你將你的版本分成不同的版本,並且在版本內並行執行作業。這可以顯着提高您的構建的整體週轉時間。我們正在研究工件傳遞,這將允許您在不同階段之間傳遞構建工件。再次,這將減少總體構建時間,並且是實現持續部署過程的另一個重要步驟。

不幸的是,我們目前沒有一個很好的「開箱即用」的方式來強制構建某些部分的權限。再次,有辦法通過插件和以某種方式設置您的Build來解決這個問題。但如果不知道更詳細的流程,很難提供建議。如果您願意與我們分享您的流程細節,我很樂意親自與您聯繫(jens at atlassian dot com)。

@jgritty:您指出的問題與我們的Perforce集成有部分已知的問題,部分似乎是未知的錯誤。請隨時創建支持請求。@ atlassian.com或在jira.atlassian.com上提交錯誤報告。

由於在Bamboo用戶中Perforce不太常用(與CVS & SVN相比),我們通常對此有較少反饋,並且對現有問題的瞭解較少。請直接向我們提出問題,我們將盡最大努力在即將發佈的其中一個版本中修復這些問題。

乾杯,

延斯·舒馬赫

3

我從來沒有聽說過Go,但我可以告訴你,Bamboo有一些嚴重的怪癖。根據您的源代碼管理系統,您的里程可能會有所不同。

它需要排序的最小公分母的方式來處理所有的SCM它掛鉤,所以對我們使用Perforce公司,我們對一些事情,我們應該得到免費的虧了。

這裏有一對夫婦的煩人的事情仍然沒有得到解決:

設置生成代理使用特定的客戶端(必須已經存在,當然,GRR)。 現在假設客戶端植根於c:\ buildarea。 您必須手動創建c:\ buildarea文件夾,否則代理將給您一些關於無法將文件解壓縮到客戶端根目錄的荒謬錯誤。 很顯然,'p4 sync -c YOURCLIENT'會這樣做,但是Bamboo做了一些事情。

它不能做的另一件事是從現有標籤正確構建。假設你有一個跨平臺的構建,並且你想要從同一個確切的changelist/label構建linux和windows,那麼在Bamboo中這樣做並不是一件簡單的事情。你可以同時開始構建並祈禱。您可以爲其他文件同步文件,但無法使用標籤進行構建。

就是它那種假設每個人都使用CVS的,因爲它「標籤」構建的方式有點啞(但並不可怕)是這樣的最後一兩件事。當一個版本包含大量的更改列表時,而不是將其稱爲更改列表並編號一次,它會爲更改列表中的每個文件列出「版本號」。顯然,這不是一筆交易的破壞者,對於P4用戶來說有點奇怪。

總而言之,沒有這些問題都殺了我們,我們用它來幾百每天構建,並在任何時候被激活200個建造計劃,以便有地方。我確信我可以考慮其他問題,但很多事情已經得到解決。

+0

我記得還有一個主要問題。這就是我們不使用公司範圍的LDAP用於Bamboo帳戶的原因:http://jira.atlassian.com/browse/BAM-1199顯而易見的解決方案是從一開始就使用LDAP,因爲您可能會發現遷移到它未來令人頭痛。 – jgritty 2010-12-17 00:59:58

3

@Bernard:我在ThoughtWorks工作,並有使用圍棋(克魯斯),比竹得多的經驗,所以我只是給你的信息就立即轉到地址查詢

  1. 「我們正在試圖從我們的開發版工藝自動化爲考不上UAT投產」:建模及自動化整個釋放過程部署流水線的方式已經由Go概念化,並且自從其早期版本(以前稱爲Cruise)以來一直存在。部署管道將複雜構建分解爲一系列階段,這些階段本身就是作業集合。這些階段可以手動或自動觸發。在管道儀表板UI本身通過環境傳播時,查看和控制更改流也很容易。以下是自動部署到UAT的詳細示例(http://www.thoughtworks-studios.com/go/2.0/help/rm_deploy_to_environment.html)。
  2. 「包括運行單元測試,具有代碼評論」: Go使您能夠拆分測試套件並將它們並行運行。您還可以獲得詳細的報告,其中包含哪些作業失敗,哪些測試失敗,哪些檢查打破了測試等,並通過電子郵件發送您選擇的構建事件的警報。 Go也會自動發佈工件,這些工件可以從報告中查看。這在偵聽構建時非常有用。在Go中,實現棘輪操作非常簡單(http://skizz.biz/blog/2008/03/11/fixing-broken-windows-with-ratcheting/),因此您可能會失敗並不符合您編碼的構建標準門檻。
  3. 「並強制允許誰將許可從UAT推送到生產」的權限::您可以通過對管道進行分組來控制對項目和環境的訪問權限,同時具有查看和操作權限。此外,您可以鎖定允許觸發構建的人員。

不同於市場上有很多的工具,圍棋還可以深入瞭解環境建模之間觸發的構建,關係,彙總結果從並行構建,便於自動發佈的文物,並自動更新生成代理

來自ThoughtWorks Studios的@jgritty:Go is the successor to Cruise

2

我已經使用了Bamboo/TeamCity/Jenkins等,並且最近對標準CI服務器進行了回顧。

我真的很感興趣,看看他們是否已經破解了團隊管理和發佈問題。我個人最喜歡TeamCity,但給了Go一個鏡頭。說實話,我有點失望,作爲一個純粹的構建服務器,它不像TeamCity/Bamboo那樣先進。它缺乏對關鍵SCM和構建工具的支持。另外大多數構建服務器都有很多第三方工具的支持,如FindBugs/PMD/Emma/Clover /等,Go不是

與市場上其他產品不同的一個領域是環境概念以及在不同環境中移動的能力。然而,這是這個概念的一個非常原始的版本。

在ThoughtWorks的人是一些在世界上最好的,並具有了豐富的開發團隊的經驗,我希望看到該工具的更多版本,他們真正開始解決圍繞軟件開發過程中的一些關鍵問題

我簡單回顧可以在這裏

http://diarmuidmoloney.wordpress.com/2011/11/24/thoughtworks-go/