Подтвердить что ты не робот

Агент сборки TeamCity не будет обновлять

Мы пытаемся настроить агент сборки, и каждый раз, когда мы запускаем его, в журнале отображаются следующие сообщения:

[2012-09-18 12:52:01,805]   INFO -    jetbrains.buildServer.AGENT - Starting agent shutdown sequence, reason: Restart agent, failed to download upgrade from server 
[2012-09-18 12:52:01,821]   INFO -    jetbrains.buildServer.AGENT - Host configuration for downloading updates: HostConfiguration[host=http://localhost:8000] 
[2012-09-18 12:52:01,821]   INFO -    jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/teamcity-agent.xml ==> E:\buildAgent\temp\m8a1mAwTuLIngev3yRUMPUuaYWZFmMSh 
[2012-09-18 12:52:01,849]   INFO -    jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/agentSystemInfo.zip ==> E:\buildAgent\update\plugins\agentSystemInfo.zip 
[2012-09-18 12:52:01,880]   INFO -    jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/amazonEC2.zip ==> E:\buildAgent\update\plugins\amazonEC2.zip 
[2012-09-18 12:52:01,921]   INFO -    jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/ant.zip ==> E:\buildAgent\update\plugins\ant.zip 
[2012-09-18 12:52:02,056]   INFO -    jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/antPlugin.zip ==> E:\buildAgent\update\plugins\antPlugin.zip 
[2012-09-18 12:52:02,078]   INFO -    jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/assembly-info-patcher.zip ==> E:\buildAgent\update\plugins\assembly-info-patcher.zip 
[2012-09-18 12:52:02,098]   INFO -    jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/clearcase-agent.zip ==> E:\buildAgent\update\plugins\clearcase-agent.zip 
[2012-09-18 12:52:02,106]   INFO -    jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/commandLineRunner.jar ==> E:\buildAgent\update\plugins\commandLineRunner.jar 
[2012-09-18 12:52:02,118]   INFO -    jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/coveragePlugin.zip ==> E:\buildAgent\update\plugins\coveragePlugin.zip 
[2012-09-18 12:52:02,151]   INFO -    jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/crashDetector.zip ==> E:\buildAgent\update\plugins\crashDetector.zip 
[2012-09-18 12:52:02,163]   INFO -    jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/cvsAgent.zip ==> E:\buildAgent\update\plugins\cvsAgent.zip 
[2012-09-18 12:52:02,183]   INFO -    jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/dotCover.zip ==> E:\buildAgent\update\plugins\dotCover.zip 
[2012-09-18 12:52:02,308]   INFO -    jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/dotNetPlugin.zip ==> E:\buildAgent\update\plugins\dotNetPlugin.zip 
[2012-09-18 12:52:03,830]   INFO - agent.impl.AgentPortFileWriter - Delete agent runtime file from E:\buildAgent\logs\buildAgent.port 
[2012-09-18 12:52:03,831]   INFO -    jetbrains.buildServer.AGENT - Unregistering from build server: 5 

Кто-нибудь видел что-нибудь подобное раньше? Мы просмотрели журналы сервера и ничего не видим на них, чтобы указать, что может быть неправильным.

4b9b3361

Ответ 1

Я столкнулся с той же проблемой. Как агент сборки, так и сервер установлены на Windows Server 2012.

Я остановил службу агента сборки и удалил журналы из журнала BuildAgent\logs и перезапустил службу агента сборки, чтобы я мог видеть свежий журнал.

upgrade.log показал мне, что агент сборки получил вызов от сервера teamcity для обновления. Журнал также показал следующее:

"Пожалуйста, проверьте, что у пользователя службы агента сборки TeamCity есть достаточные разрешения для остановки и запуска службы".

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

Ответ 2

Агент сборки TeamCity иногда может потребоваться много времени для обновления. Если вы считаете, что обновление занимает слишком много времени без каких-либо положительных результатов, сделайте следующее:

  • Удалить агент сборки
  • Загрузите пакет агента сборки со своего сервера.
  • Переустановите агент

После этого процесс обновления должен идти быстрее. Если это не помогает, лучше обратиться в службу технической поддержки JetBrains.

Ответ 3

Очень простой способ сделать это, если ваша политика безопасности предприятия не позволяет добавлять пользователей в группу "Администраторы", но пользователь, с которым вы вошли в систему, имеет повышенные права. Остановите работу службы через Service.msc, а затем откройте командную строку (с повышенными правами) в каталоге bin агента и запустите

agent.bat start

Позвольте агенту обновить этот пользователь, а затем, как только он будет завершен, и вы сможете увидеть его успешно зарегистрированным в интерфейсе Teamcity. Убейте процессы и перезапустите службу.

Ответ 4

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

Есть обходные пути, но без изящного решения. Вот почему:

  • Обходной путь 1: службе "TCBuildAgent" необходимо "заключить в тюрьму", необходимо назначить ему права доступа к учетным записям/остановке службы. SubinACL - ваш лучший инструмент для назначения этого (продолжительного, но полного обсуждения).
    • TeamCity удаляет "TCBuildAgent" и устанавливает новый, эффективно устраняя присвоенные ему учетные данные службы. Поэтому при каждом обновлении вы должны выдавать команды доступа к SubinACL. Неуклюжий и раздражающий
  • Обходной путь 2: вышеупомянутая подсказка о добавлении "тюрьмы" в группу "Администраторы" является жизнеспособной и позволяет надлежащее обновление, хотя и нарушает концепцию "заключенного в тюрьму" пользователя.

После много возиться с SubinACL, я бросил в полотенце и просто временно добавил "в тюрьму" в группу "Администраторы" для процесса обновления, а затем удалил его позже.

Я надеюсь, что Jetbrains не собирается делать что-то ужасное и вредоносное с помощью TCBuildAgent... во время обновления, во всяком случае;)

Ответ 6

У меня была эта проблема при запуске агента с systemd в Ubuntu 18.04. Агент завершает работу с кодом 143 при обновлении, и это интерпретируется как ошибка. Его необходимо добавить в список допустимых кодов ошибок с SuccessExitStatus=143 0

Вот полная конфигурация:

[Unit]
Description=TeamCity Build Agent
After=network.target

[Service]
Type=forking
RemainAfterExit=yes
PIDFile=/build-agent/logs/buildAgent.pid
ExecStart=/build-agent/bin/agent.sh start
ExecStop=/build-agent/bin/agent.sh stop
User=build
Group=build

Restart=on-failure
RestartSec=5s

# agent will exit with 143 during upgrade process
SuccessExitStatus=143 0

[Install]
WantedBy=multi-user.target

Ответ 7

  1. Убейте процесс или остановите агента:

    ./agent.sh stop./agent.sh start