Агент сборки 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
Кто-нибудь видел что-нибудь подобное раньше? Мы просмотрели журналы сервера и ничего не видим на них, чтобы указать, что может быть неправильным.
Ответы
Ответ 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... во время обновления, во всяком случае;)
Ответ 5
У меня была аналогичная проблема. помогли мне переустановить антивирус.
http://devnet.jetbrains.com/thread/440728
Ответ 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
- Убейте процесс или остановите агента:
./agent.sh stop./agent.sh start