Bamboo: создание и настройка проекта

Автор: | 03/15/2015
 

logo_bamboo_blueНастройка первого проекта в Bamboo.

В качестве VCS используется Git.

Добавим простой проект на Java, которые будем билдить на Bamboo с помощью Maven.

На рабочей машине cоздаём каталог для файлов Java:

C:UserssetevoyDocumentsgittest>mkdir srcmainjavahello

Создаём файл HelloWorld.java:

C:UserssetevoyDocumentsgittest>notepad srcmainjavahelloHelloWorld.java

С таким содержимым:

package hello;

public class HelloWorld {
    public static void main(String[] args) {
        Greeter greeter = new Greeter();
        System.out.println(greeter.sayHello());
    }
}

И файл srcmainjavahelloGreeter.java:

package hello;

public class Greeter {
    public String sayHello() {
        return "Hello world!";
    }
}

В корне рабочей директории создаём pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.springframework</groupId>
    <artifactId>gs-maven</artifactId>
    <packaging>jar</packaging>
    <version>0.1.0</version>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.1</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer
                                    implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>hello.HelloWorld</mainClass>
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

Добавляем, коммитим и отправляем в репозиторий:

C:UserssetevoyDocumentsgittest>git add .
C:UserssetevoyDocumentsgittest>git commit -m "Java test project"
...
 3 files changed, 50 insertions(+), 23 deletions(-)
 rewrite pom.xml (87%)
 create mode 100644 src/main/java/hello/Greeter.java
 create mode 100644 src/main/java/hello/HelloWorld.java
C:UserssetevoyDocumentsgittest>git push origin master
...
To git@git.domain.local:/home/git/gitrepo/test.git
 e28b994..3206dcd master -> master

Переходим на сервер Bamboo, и устанавливаем Git, если ещё не установлен:

# yum -y install git

Логинимся под пользователем, созданным при установке Bamboo, и устанавливаем Maven:

$ mkdir maven
$ cd maven/
$ wget http://apache.cp.if.ua/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz
$ tar xfp apache-maven-3.2.5-bin.tar.gz
$ ls -l apache-maven-3.2.5
total 44
drwxrwxr-x 2 bamboo bamboo 4096 Mar 9 09:22 bin
drwxrwxr-x 2 bamboo bamboo 4096 Mar 9 09:22 boot
drwxr-xr-x 3 bamboo bamboo 4096 Dec 14 19:27 conf
drwxr-xr-x 3 bamboo bamboo 4096 Mar 9 09:22 lib
-rw-r--r-- 1 bamboo bamboo 18842 Dec 14 19:30 LICENSE
-rw-r--r-- 1 bamboo bamboo 182 Dec 14 19:30 NOTICE
-rw-r--r-- 1 bamboo bamboo 2508 Dec 14 19:27 README.txt

В ~/.bashrc задаём M2_HOME и добавляем bin в PATH:

M2_HOME="/home/bamboo/maven/apache-maven-3.2.5"
export PATH="$PATH:$M2_HOME/bin"

Перечитываем файл:

$ . ../.bashrc

Проверяем:

$ mvn -version
Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T19:29:23+02:00)
Maven home: /home/bamboo/maven/apache-maven-3.2.5
Java version: 1.7.0_75, vendor: Oracle Corporation
Java home: /home/bamboo/java/jdk1.7.0_75/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-504.8.1.el6.i686", arch: "i386", family: "unix"

От пользователя bamboo логинимся на Git-сервер, что бы сохранить ключ и проверить доступ:

$ ssh git@git.domain.local
The authenticity of host 'git.domain.local (192.168.1.139)' can't be established.
RSA key fingerprint is 2d:59:87:ad:4a:c1:65:b4:ff:11:79:c5:d5:14:4d:f7.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'git.domain.local,192.168.1.139' (RSA) to the list of known hosts.
git@git.domain.local's password:
Last login: Sun Mar  8 19:45:29 2015 from 192.168.1.146
[git@git ~]$

Переходим к Bamboo.

Создаём проект:

bamboo_first_builf_1

Указываем названия, выбираем систему VCS и настраиваем подключение (у меня пока не получилось авторизовать через RSA-ключу, поэтому — просто логин-пароль):

bamboo_first_builf_14

Добавляем задачи (build step в терминологии TeamCity):

bamboo_first_builf_4

Выбираем тип задачи, которых у Bamboo множество — и этот список можно ещё расширить:

bamboo_first_builf_7

Задача сейчас — собрать Java-файл с помощью Maven.

Жмём Add new executable, что бы добавить Maven к Bamboo:

bamboo_first_builf_8

Указываем директорию Maven, который мы установили ранее:

bamboo_first_builf_9

Указываем goal, убираем The build will produce test results, жмём Save:

bamboo_first_builf_15

Готово, ставим галочку «Enable plan» и жмём Create:

bamboo_first_builf_16

Переходим в Bamboo administration > Overview:

bamboo_first_builf_12

Находим исполняемый файл Git:

# which git
/usr/bin/git

Слева находим Server capabilities и в Add capability добавляем Git:

bamboo_first_builf_21

 

Возвращаемся в Build > All build plans:

bamboo_first_builf_17

Запускаем билд:

bamboo_first_builf_18

Кликаем на номер билда, что бы увидеть процесс:

bamboo_first_builf_19

Билд готов:

bamboo_first_builf_20