Назад | Перейти на главную страницу

Агент Teamcity Build убивает systemd при обновлении

В нашей системе centos мы настроили агент teamcity как службу systemd. Служба работает нормально, кроме случаев, когда агент выполняет обновление. Затем он убивается при выполнении обновления. Я предполагаю, что это связано с тем, что systemd наблюдает за созданными процессами, и когда существует основной процесс, позволяющий второму процессу выполнить обновление, systemd решает, что это потерянный процесс, и завершает его примерно через минуту.

Я полагаю, это предположение подтверждается тем фактом, что когда я напрямую запускаю агент teamcity, обновление работает без проблем.

Это конфигурация сервиса:

[Unit]
Description=teamcity agent - local
Requires=network.target
After=network.target

[Service]
Type=forking
PIDFile=/home/teamcityagent/logs/buildAgent.pid
WorkingDirectory=/home/teamcityagent
User=teamcityagent
Group=teamcityagent
ExecStart=/home/teamcityagent/bin/agent.sh start
ExecStop=/home/teamcityagent/bin/agent.sh stop
TimeoutStartSec=900
TimeoutStopSec=60

[Install]
WantedBy=multi-user.target

До сих пор я пытался изменить тайм-аут на 900 секунд и закомментировал PIDFile. Ничего не помогло.

Есть ли способ сказать systemd не прекращать процесс обновления, запретив следить за потерянными процессами?

Добавление

RemainAfterExit=yes

к Service строфа, кажется, исправляет это без необходимости изменять тайм-ауты.

Документировано на https://www.freedesktop.org/software/systemd/man/systemd.service.html#RemainAfterExit=