Как изменить файл TeamCity buildagent.properties для агента EC2?

Я использую плагин EC2 TeamCity 8.x и возможность Agent Push для создания агентов сборки ubuntu, работающих в AWS EC2. Они создаются и уничтожаются по запросу.

Есть ли способ добавить настраиваемый контент в итоговый файл buildagent.properties сборочного агента, чтобы, например, он мог знать, что ansible установлен и какая у него версия?

Я ищу способ, чтобы это можно было полностью автоматизировать, но TeamCity (по крайней мере, v8), похоже, не предоставляет никакой возможности настроить файл, будь то путем предоставления статического содержимого или путем создания каких-либо шаблонов.

Полагаю, я мог бы сделать это через саму сборку, но тогда это должно было бы вызвать событие, которое TeamCity не раскрывает. Это должно происходить каждый раз при создании агента.

Возможно, я мог бы сделать это с помощью EC2 UserData - за исключением того, что TeamCity не позволяет мне это настраивать.

Я мог бы попытаться сделать это с помощью задачи при запуске на агенте, за исключением того, что она сработает до того, как само программное обеспечение build-agent будет помещено в агент.

Я полагаю, что мог бы использовать incron, чтобы дождаться существования файла, прежде чем создавать шаблоны в моем собственном контенте, но может ли кто-нибудь придумать другой подход?


person Peter Mounce    schedule 02.04.2015    source источник


Ответы (1)


Вы можете создавать переменные среды в AMI до того, как он запечет. Когда вы создаете профиль для AMI в teamcity, он проверит AMI и получит build.properties, переменные среды и системные свойства. Затем вы можете использовать требования к агенту, чтобы ограничить, какие сборки могут запускаться на каких агентах.

Чтобы автоматизировать создание AMI, взгляните на packer.

person JonSquared    schedule 04.04.2015
comment
Создайте переменные среды, например, export foo=bar? С конкретным префиксом? Как мне сделать их постоянными между перезапусками, поместить их в /etc/profile.d/env.sh ...? Не могли бы вы указать на какую-нибудь документацию по этому поводу? Я ничего не ответил. - person Peter Mounce; 11.04.2015