#.net #.net-core #msbuild #msdeploy
#.net #.net-ядро #msbuild #msdeploy
Вопрос:
Я пытаюсь настроить свой сервер сборки gitlab для развертывания ASP.NET Основной проект с использованием msdeploy. Теперь проблема в том, что мое развертывание блокируется прокси-сервером…
Как мне настроить прокси в dotnet publish
команде?
MSDEPLOY : error Code: ERROR_COULD_NOT_CONNECT_TO_REMOTESVC
Error : The remote server returned an error : (407) Proxy Authentication Required.
MSDEPLOY : error count: 1.
Это команда, которая у меня есть в настоящее время:
dotnet publish [project.csproj] -c Release /p:PublishProfile="[Location of publish profile]" /p:Password="[Password]"
Пример профиля публикации
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<PublishProvider>AzureWebSite</PublishProvider>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish>[Url]</SiteUrlToLaunchAfterPublish>
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<ProjectGuid>[Guid]</ProjectGuid>
<MSDeployServiceURL>[URL]</MSDeployServiceURL>
<DeployIisAppPath>DeployProd</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<EnableMSDeployBackup>True</EnableMSDeployBackup>
<UserName>[Username]</UserName>
<_SavePWD>True</_SavePWD>
<_DestinationType>AzureWebSite</_DestinationType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<SelfContained>false</SelfContained>
</PropertyGroup>
</Project>
Ответ №1:
Вам необходимо указать переменную среды:
http_proxy = http://user:pass@proxy:port/
https_proxy = http://user:pass@proxy:port/
И если ваша gitlab не находится за прокси, вам нужно ее исключить:
no_proxy=servername,servername2
Затем вам нужно сообщить msdeploy, чтобы использовать эту информацию о прокси. Посмотрите, какой msdeploy.exe используется бегуном gitlab и измените его файл .config. Добавьте следующее между тегами конфигурации:
<system.net>
<defaultProxy useDefaultCredentials="true" enabled="true"/>
</system.net>