1. 程式人生 > >另一種持續整合工具Bamboo

另一種持續整合工具Bamboo

做了CI這麼些年,對CI的工具並沒有一一瞭解,用的最多的是BuildForge和Jenkins/Hurdson. 鑑於Jenkins和Hurdson複雜的歷史關係,我習慣把他們看做一個。大差不差的,Jenkins作為開源的CI工具,流行面還是很廣的。支援很多plugin in,可以和各種流行的CV工具整合,使用起來也比較簡單。而BuildForge作為IBM的商業產品,採用CS模式,對於manager的agent需要安裝BF Agent,功能非常強大,支援多執行緒,多種不同平臺如:Aix,unix,0s400等build 機器的管理,job可以分步,支援sechdule等,應該可以堪稱目前市面上最強大的CI工具,當然除了CI它也是優秀的automation的平臺等。 但比較費錢:) 商業滴就這點不好。

Bamboo是在看CI 招聘相關內容看到的一種CI工具,所以打算先了解一些再玩玩。(PS:貌似CI目前比較流行的包括CruseControl,Jenkins/Hurdson,Bamboo)

Bamboo是澳大利亞公司Atlassian開發的產品,Atlassian公司以其產品專案跟蹤軟體JIRA和團隊協同軟體Confluence而聞名,Atlassian公司現有僱員500人,公司總部位於澳大利亞悉尼,在美國舊金山,荷蘭阿姆斯特丹設有分公司。

Atlassian公司2002年由Mike Cannon-Brookes和Scott Farquhar建立,他們在澳大利亞新南威爾士大學認識,後輟學建立他們的企業軟體公司。他們接受採訪時說當時建立Atlassian是“直覺”上認為公司軟體將會和網際網路聯絡緊密。公司現有僱員500人,分佈在悉尼、舊金山、阿姆斯特丹,2010年獲得Accel Partner6000萬美元風險投資。

而Atlassian Bamboo 是一款持續整合構建伺服器軟體(Build Server)(非開源軟體。 Bamboo的特點: 簡單的使用者介面 容易安裝 - 順利的話,5分鐘內就可以讓執行起來! 自動檢測你的設定 - 如果您的Server上使用了Maven,Ant或者Java設定, Bamboo會自動檢測他們; 連續的日誌 - 監測你的build的colour coded日誌; 容易顯示所有專案。

可以在這個網站上了解Bamboo的一些基本概念:http://www.confluence.cn/display/quickstart/Bamboo

Bamboo可以申請試用版。具體參考上面的連結。

其特性是在編譯平臺方面:

windows上支援:MSBuild, NAnt, Visual Studio   

Java平臺: Ant, Maven 1, Maven 2, Maven 3    包括另外一些編譯指令碼 custom script, command line, Bash

在通知方面支援XMPP, Google Talk, E-mail, RSS, Remote API 協議等

可以和以下平臺整合:   IntelliJ IDEA, Eclipse, Visual Studio     FishEye, Crowd, JIRA, Clover

在SCM方面支援常見的主流版控工具,如CVS,Subversion,Git,CC等。

由於公司在專案管理上已經有JIRA和Conference工具了,所以我打算下載個Bamboo玩一下。

Bamboo支援的安裝環境和平臺資訊如下:

Skip to end of metadata Go to start of metadata

This page describes the supported platforms for Bamboo 5.7.x.

Key: (tick) = Supported; (error) = Not Supported

Java

Oracle JDK

(error) 1.8

(tick) 1.7

(warning) 1.6 Deprecated

(error) 1.5

For the server, it is not enough to have just the JRE. Please ensure that you have the full JDK.

You can download the Java SE Development Kit (JDK) from the Oracle website.

Once the JDK is installed, you will need to set the JAVA_HOME environment variable, pointing to the root directory of the JDK. Some JDK installers set this automatically (check by typing 'echo %JAVA_HOME%' in a DOS prompt, or 'echo $JAVA_HOME' in a shell). You need to do this before installing Bamboo, as Bamboo will automatically configure JDK capabilities based on the system environment variables on your machine.

Note that your agents can build software with any JDK version. You only need to run the agent and server using a supported JDK.
(error) 1.8: Bamboo does not currently support Java JDK 1.8. See BAM-14426 for more information.

(error) Bamboo does NOT support OpenJDK 1.6.

OpenJDK

(error) 1.8

(tick) 1.7

(error) 1.6

Operating Systems

Microsoft Windows

(tick)

Bamboo is a pure Java application and should run on any platform, provided all the JDK requirements are satisfied.

If you are using Linux/UNIX: A dedicated user should be created to run Bamboo, as Bamboo runs as the user it is invoked under and therefore can potentially be abused. Here is an example of how to create a dedicated user to run Bamboo in Linux:
$ sudo /usr/sbin/useradd --create-home --home-dir /usr/local/bamboo --shell /bin/bash bamboo

Linux

(tick)

Solaris (tick) with Java JDK 1.7.x

Apple Mac OS X

(tick)

Application Servers

Apache Tomcat

(tick) 7.0.x (bundled version only)

We only support the Tomcat version included in the standalone bundle. This means we do not support running the Bamboo WAR in your own Tomcat installation.
Databases

Microsoft SQL Server

HSQLDB

(tick) (for evaluation only)

Bamboo ships with a built-in HSQL database, which is fine for evaluation purposes but is somewhat susceptible to data loss during system crashes. For production environments we recommend that you configure Bamboo to use an external database.

Web Browsers

Microsoft Internet Explorer

(tick) 11

(tick) 10

(tick) 9

(error) 8

Mozilla Firefox

(tick) Latest stable version supported

Safari

(tick) Latest stable version supported

Chrome

(tick) Latest stable version supported

Source Repositories

Mercurial

(tick) client: 1.6-2.1.x

(error) client: 2.1.0

NOTE : Mercurial 2.1 has a bug that makes it incompatible with Bamboo. Please use Mercurial 2.1.1 or later.

Subversion

(tick) with server 1.5-1.8

  • Bamboo 4.2, and later versions, support Subversion 1.7, but use the Subversion 1.6 Workspace Format by default to keep backwards compatibility with older Subversion working copies. You can set the bamboo.svn.wc.format system property if your Bamboo plans need to use Subversion 1.7 commands as part of your build scripts. See Setting Bamboo to Support Subversion 1.7 Workspace Format for details.
  • Bamboo works with Subversion 1.8, and supports the 1.8 Workspace Format.

Git

(tick) with client 1.7.9+

Perforce

(tick)

CVS

(tick)