Настройка прокси для TeamCity + NuGet
1. Скачивание и распаковка PsExec
Скачайте PsExec с официального источника: 🔗 https://docs.microsoft.com/en-us/sysinternals/downloads/psexec
Распакуйте архив в удобное место, например:
C:\Tools\PsExec\
💡 PsExec позволяет запускать процессы от имени системного аккаунта (SYSTEM), что важно для правильной работы некоторых конфигураций TeamCity и NuGet.
2. Скачивание и распаковка NuGet CLI
Скачайте последнюю версию NuGet CLI (nuget.exe):
🔗 https://www.nuget.org/downloads
Выберите раздел Windows x86 Commandline.
Распакуйте nuget.exe
в ту же папку:
C:\Tools\PsExec\nuget.exe
3. Запуск командной строки от SYSTEM
Откройте командную строку от администратора и выполните:
psexec -i -s cmd.exe
Это откроет новое окно командной строки, которое работает от имени системного пользователя (SYSTEM). Это важно, потому что TeamCity, как правило, запускается под учётной записью SYSTEM
или другой системной учётной записью без интерактивного сеанса.
4. Настройка прокси через NuGet
В открывшемся окне командной строки (от SYSTEM), выполните следующие команды:
Установка адреса прокси:
nuget.exe config -set http_proxy=прокси_ип_или_домен:3128
⚠️ Замените
прокси_ип_или_домен
на реальный адрес вашего прокси-сервера.
Дополнительно: указание учетных данных (если прокси требует авторизации):
nuget.exe config -set http_proxy.user=ваш_логин
nuget.exe config -set http_proxy.password=ваш_пароль
🔒 Пароли хранятся в plain text в файле конфигурации NuGet (
%APPDATA%\NuGet\NuGet.Config
). Это потенциальная дыра в безопасности! Убедитесь, что доступ к этим файлам ограничен.
5. Перезагрузка системы (по необходимости)
Некоторые изменения могут потребовать перезагрузки, особенно если TeamCity уже был запущен до этого.
shutdown /r /t 0
💡 Вместо перезагрузки можно просто перезапустить службу TeamCity:
net stop "TeamCity Build Agent"
net start "TeamCity Build Agent"
✅ Проверка работоспособности
После всех изменений рекомендуется проверить, корректно ли TeamCity получает пакеты из NuGet через прокси.
- Зайдите в интерфейс TeamCity.
- Запустите билд, который использует NuGet-пакеты.
- Убедитесь, что не возникает ошибок подключения или таймаутов.