четвер, 19 квітня 2012 р.

Налаштування білд-сервера TeamCity під Windows та білд-агента під Mac OS

Як відомо, віддає абсолютно безкоштовно таку чудову річ, як , абсолютно безкоштовно, якщо у вас маленька команда.

TeamCity 7 – це новий реліз, що надає нам купу і , тому налаштовувати будемо його.

Після установки, яка є досить простою і вимагає лиш вибрати порт, на якому висітиме наш сервер, та вказати користувача, під яким бігтиме сам сервіс, попросить створити акаунт адміністратора і після логіну настійливо пропонуватиме налаштувати зовнішню базу даних для зберігати облікових записів, налаштувань і всіх післябілдових артефактів, оскільки вважає файлову систему не надто надійною: “In short, do not EVER use internal HSQLDB database for production TeamCity instances.”. І в цьому. скоріш за все, є певний сенс. В мене теж вже був досвід з переповненням системного диску на білд-сервері, тому дослухаємось поради. Після установки можемо не створювати акаунт, а відразу перейти до налаштувань бази даних, оскільки вона буде чистою і акаунти прийдеться створювати заново.

Для цього спочатку створимо чисту базу на SQL сервері (я використовував 2008 R2, але 2005 теж згодиться), створимо користувача, який може міняти схему, та впевнимось, що сервер приймає TCP запити.

Далі завантажимо SQL JDBC драйвер. Після встановлення/розпаковки нам треба взяти лиш один файл sqljdbc4.jar і скопіювати до папки з бібліотеками білд-сервера, приблизно так:

> copy "%SystemDrive%%HOMEPATH%\Downloads\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\enu\sqljdbc4.jar" "%SystemDrive%%HOMEPATH%\.BuildServer\lib\jdbc\sqljdbc4.jar"

Далі створимо файл налаштувань бази даних і відредагуємо його:

> copy NUL "%SystemDrive%%HOMEPATH%\.BuildServer\config\database.properties"
> notepad "%SystemDrive%%HOMEPATH%\.BuildServer\config\database.properties"

connectionUrl=jdbc:sqlserver://(адреса вашого MS SQL сервера):1433;databaseName=(ім’я бази даних)
connectionProperties.user=(ваш користувач MS SQL Server)
connectionProperties.password=(пароль користувача)

Перезавантажимо сервіс:

> sc stop TeamCity
> sc start TeamCity

Після цього заходимо на веб-інтерфейс білд-сервера і слідуємо інструкціям по створенню облікового запису, а також створюємо білд-конфігурацію, яка буде використовувати Mac OS білд-агент, котрий налаштуємо далі.

Для цього завантажимо білд-агент з нашого сервера, розархівуємо і скопіюємо в папку, яка вам найбільше подобається (мені сподобалась папка Applications):

$ curl -O http://(адреса вашого білд-сервера сервера):(порт білд-сервера)/update/buildAgent.zip
$ unzip buildAgent.zip -d buildAgent
$ cp -R buildAgent /Applications/

Для запуску білд-агента необхідна встановлена Java 1.6:

$ java -version
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-11M3527)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode)
$ which java
/usr/bin/java

А також правильно прописані шляхи. Перевіряємо, чи вони задані, і, якщо ні, то експортуємо їх:

$ echo $JAVA_HOME

$ export JAVA_HOME=/Library/Java/Home
$ echo $JAVA_HOME
/Library/Java/Home

І додаємо експорт у ~/.profile файл для перманентного ефекту. Файлу в мене не було, тому створив новий:

$ echo "export JAVA_HOME=/Library/Java/Home" > ~/.profile
$ cat ~/.profile
export JAVA_HOME=/Library/Java/Home

Потім редагуємо налаштування під’єднання до білд-сервера. Шукаємо та міняємо налаштування serverUrl (адреса нашого білд-сервера) і name (ім’я, що відображатиметься у TeamCity):

$ cd /Applications/buildAgent/conf/
$ cp buildAgent.dist.properties buildAgent.properties
$ vim buildAgent.properties

Щоб демон агента стартував при запуску, надаємо йому права і закидаєм *.plist у LaunchDaemons:

$ cd /Applications/buildAgent/bin/
$ chmod +x /Applications/buildAgent/launcher/bin/*
$ sh /Applications/buildAgent/bin/mac.launchd.sh load
$ sudo cp /Applications/buildAgent/bin/jetbrains.teamcity.BuildAgent.plist /Library/LaunchDaemons/

Ось і все. Чекаємо, поки агент подасть заявку на сервер, і авторизуємо його.

Всім щасливого CI.

Широка посмішка

Немає коментарів:

Дописати коментар