Как запустить более одного агента сборки TeamCity на Mac?

Я просматривал инструкции от jetbrains о том, как установить и настроить агенты сборки на Mac. Но это только для одного агента сборки, а не для нескольких.

Вот этот файл .plist выглядит так:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Debug</key>
        <false/>
        <key>KeepAlive</key>
        <true/>
        <key>Label</key>
        <string>jetbrains.teamcity.BuildAgent</string>
        <key>OnDemand</key>
        <false/>
        <key>ProgramArguments</key>
        <array>
                <string>bash</string>
                <string>--login</string>
                <string>-c</string>
                <string>launcher/bin/TeamCityAgentService-macosx-universal-32 -c ../conf/wrapper.conf</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>StandardErrorPath</key>
        <string>logs/launchd.err.log</string>
        <key>StandardOutPath</key>
        <string>logs/launchd.out.log</string>
        <key>WorkingDirectory</key>
        <string>/opt/teamcity/buildAgent1</string>
</dict>
</plist>

Согласно инструкциям, я должен запустить следующую команду для запуска агента:

sudo sh buildAgent1/bin/mac.launchd.sh load

Теперь, кажется, скопировать файл сюда?

/opt/teamcity/buildAgent1/bin/jetbrains.teamcity.BuildAgent.plist

Но что мне делать, если я хочу добавить больше? Должен ли я поместить столько же plist-файлов в /Library/LaunchAgents с другим именем или добавить больше в существующий plist-файл? И если да, то каков синтаксис для добавления туда дополнительных вещей?


person peuhse    schedule 09.06.2015    source источник


Ответы (2)


  1. Установите агент в другой каталог, как первый
  2. Выберите другие name и ownPort в buildAgent.properties
  3. Дублируйте ~/Library/LaunchAgents/jetbrains.teamcity.BuildAgent.plist в тот же каталог, но выберите другое имя файла.
  4. Измените содержимое тега <string> под тегом <key>Label</key> на что-то уникальное. Обновите путь в теге под <key>WorkingDirectory</key>, чтобы он указывал на настраиваемый агент.
  5. Перезагрузить.
person Reflection42    schedule 13.08.2015

Я думаю, вам следует скопировать двоичные файлы в другой каталог, например. /opt/teamcity/buildAgent2/ и сделайте то же самое, что и для agent 1. В файле под [agent dir]/conf/buildAgent.properties есть свойство ownPort=9090, поэтому вы должны изменить его, чтобы сервер TC мог подключаться к обоим агентам.

person Krzysztof Wolny    schedule 10.06.2015
comment
Проблема не в запуске нескольких агентов вручную, а в том, как я заставляю их все автоматически запускаться при запуске машины. В plist-файле указаны только образцы для одного агента сборки. Но как добавить остальные? См. последний раздел в моем сообщении с вопросом. - person peuhse; 11.06.2015
comment
Я не пользователь Mac, но в Linux делаю это через crontab - ставлю задание каждые 5 минут на запуск агента(ов). Если они вниз - они будут работать, если они работают - никакого эффекта. Если бы мне пришлось угадывать, я бы сказал, что вам нужно продублировать файл. - person Krzysztof Wolny; 12.06.2015