TeamCity: установка BuildAgent

Автор: | 01/10/2013

teamcity_logoУстановка нового агента для TeamCity на отдельной машине с операционной системой:

$ cat /etc/redhat-release
CentOS release 6.4 (Final)

Процесс установки самого TeamCity описан в статье TeamCity: установка на CentOS.

Качаем архив с агентом с сервера:

$ wget http://teamcity.server.com:8111/update/buildAgent.zip

Создадим отдельный каталог для buildAgent-а:

$ mkdir buildAgent
$ cd buildAgent
$ unzip buildAgent.zip
$ chown -R setevoy:setevoy ../buildAgent

Структура каталогов агента:

$ tree -L 1 -fs
.
├── [       4096]  ./bin
├── [          0]  ./BUILD_27540
├── [   12966470]  ./buildAgent.zip
├── [       4096]  ./conf
├── [       4096]  ./contrib
├── [       4096]  ./launcher
├── [       4096]  ./lib
└── [       4096]  ./plugins

6 directories, 2 files

Копируем файл настроек для агента:

$ cp conf/buildAgent.dist.properties conf/buildAgent.properties

Редактриуем его:

$ vim conf/buildAgent.properties

Необходимые для заполнения поля:

# адрес самого TeamCity сервера:
serverUrl=http://teamcity.server.com:8111/

# имя для buildAgent-а, которое будет отображаться на странице Agents в TeamCity:
name=cent2_agent

# поле authorizationToken оставлем пустым - его заполнит сам агент после подключения к серверу:
authorizationToken=

Даём права на выполнение файлов:

$ chmod u+x bin/*.sh

Допустимые опции для управления агентом:

$ ./bin/agent.sh
JetBrains TeamCity Build Agent
Usage:
./bin/agent.sh start     - to start build agent in background
./bin/agent.sh stop      - to stop build agent after current build finish

./bin/agent.sh run         - to start build agent in the current console
./bin/agent.sh stop force  - to stop build agent terminating currently running build

Стартуем:

$ ./bin/agent.sh start
Starting TeamCity build agent...
Java executable is found in '/usr/bin/..'.
Starting TeamCity Build Agent Launcher...
Agent home directory is /home/setevoy/buildAgent
Current Java runtime version is 1.7
Lock file: /home/setevoy/buildAgent/logs/buildAgent.properties.lock
Using no lock
Done [23595], see log at /home/setevoy/buildAgent/logs/teamcity-agent.log

Добавляем агента в автозапуск при старте сервера:

$ sudo vim /etc/rc.local

Добавляем строку:

/home/setevoy/buildAgent/bin/agent.sh start

Переходим на страницу нашего сервера, видим что в списке Unauthorized появился новый агент:

TeamCity: установка BuildAgent

Переключаем на эту страницу и жмём на Unauthorized, что бы выполнить авторизацию агента:

TeamCity: установка BuildAgent

Проверяем содержимое файла конфигурации агента, появился ключ авторизации:

$ cat conf/buildAgent.properties | grep Token
authorizationToken=00fa2d29facb469d81c76af198d71b15

TeamCity: установка BuildAgent

Теперь у нас новый агент, подключенный к серверу TeamCity.