问题标签 [azure-devops-self-hosted-agent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
469 浏览

msbuild - 如何在使用 Azure 应用服务部署和 -useCHECKSUM 进行部署时修复“ERROR_PROXY_GATEWAY”错误

我已经设置了一个自托管发布代理,用于将我的软件发布到独立应用服务。如果我使用 Azure App Service 部署任务 (V4) 进行部署,则效果很好。我想使用 -useCHECKSUM 选项,但这会破坏发布。我收到一条错误消息:“错误:远程服务器返回错误:(502) 网关错误。”

我已经尝试用谷歌搜索错误,但我找不到参数和错误之间的任何关系。我怀疑 -useCHECKSUM 正在使用不同的路线来部署应用程序,但我无法找出它正在使用什么。

更多信息:无法使用指定的进程(“Web 管理服务”)连接到远程计算机(“xxxxxxx”)。如果代理服务器中断与目标服务器的通信,就会发生这种情况。禁用代理服务器并重试。了解更多信息:http: //go.microsoft.com/fwlink/ ?LinkId=221672#ERROR_PROXY_GATEWAY 。错误:远程服务器返回错误:(502) Bad Gateway。错误计数:1。

2019-07-31T08:38:16.5670711Z ##[调试]任务结果:失败 2019-07-31T08:38:16.5680985Z ##[错误]错误:错误代码:ERROR_PROXY_GATEWAY

0 投票
1 回答
103 浏览

azure-devops - Visual Studio Test 已将 Upload Test Attachments 设置为 false,但无论如何它都会上传附件

“Visual Studio 测试”任务有一个名为“上传测试附件”的选项,无论此选项在某个版本中是打开还是关闭,它始终会上传测试附件。

这现在发生在我的代理池中的两个特定构建代理上,这是从上周末开始的行为变化。

发布定义没有已知的变化。

我尝试创建一个新的发布定义,新旧发布定义表现出这种行为。

在过去,我们阻止这种不良行为的唯一方法是重新创建构建代理。

0 投票
1 回答
333 浏览

docker - Docker 容器中的新 DotNet Core VSTS 代理

尝试在运行 dotnet core 的 Docker 中创建自托管代理?

我使用以下 https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/docker?view=azure-devops创建了我的代理

下面似乎是一个非常标准的设置,我该如何更改它以便我的 docker 容器也可以构建 dotnetcore 项目?

这是一个windows盒子

码头工人

开始.ps1

更新 我设法在以下 https://github.com/jakobehn/WindowsContainerBuildImage/blob/master/Dockerfile上找到了我正在寻找的答案

0 投票
1 回答
2500 浏览

azure - Azure 和 AzureRM Powershell 模块冲突

我正在设置 Azure DevOps 自托管管道代理。我们有一些遗留的云服务,因此我们需要以服务管理 API 为目标的“旧”Azure powershell 模块。我们显然也使用 Azure 资源管理器,因此还需要 AzureRM 或新的 Az 模块。

我们目前正在使用以下命令安装 Azure 模块版本 5.3.0 和 AzureRM 模块版本 6.13.1:

我们遇到的问题是,根据这些模块的导入顺序,我们会遇到脚本失败。例如,如果导入顺序是 Azure,然后是 AzureRM,我们会收到以下错误:

Import-Module:加载扩展类型数据文件时发生以下错误:TypeData“Microsoft.Azure.Commands.Common.Authentication.Abstractions.IAzureContextContainer”中的错误:TypeConverter 已被忽略,因为它已经发生。TypeData“Microsoft.Azure.Commands.Common.Authentication.Abstractions.IAzureContextContainer”中的错误:成员 SerializationDepth 已存在。TypeData“Microsoft.Azure.Commands.Common.Authentication.ProtectedFileTokenCache”中的错误:成员 PropertySerializationSet 已存在。TypeData“Microsoft.Azure.Commands.Common.Authentication.ProtectedFileTokenCache”中的错误:成员 SerializationMethod 已存在。TypeData 中的错误“Microsoft.Azure.Commands.Common.Authentication。

您可以在以下屏幕截图中看到这一点:

导入失败

但是,如果先导入 AzureRm,然后再导入 Azure,它似乎可以正常工作:

导入成功

问题是,在使用 Microsoft 和其他人构建的现有管道任务时,我们不控制导入的顺序。由于 MS 构建的云服务部署任务恰好首先导入 Azure,我们在部署云服务时遇到了失败。

最后,我尝试简单地不安装旧的 Azure 模块,希望 AzureRM “附带”处理一些服务管理 API 任务所需的东西,但事实并非如此。如果我尝试在未安装 Azure 模块的情况下进行部署,则会收到错误消息:

不支持基于证书的身份验证。找不到 Azure PowerShell 模块。

所以看起来遗留模块是必需的,但它发生了冲突。

0 投票
1 回答
1428 浏览

docker - Azure 管道:Docker buildAndPush 失败

我有一个通用管道将 docker 映像保存到 AWS ERC,如下所示:

我已经在我的系统(powershell)上设置了一个托管代理。我已经建立了 AWS 和 Docker 服务连接,但是对我来说它以一种奇怪的方式失败了......这是 Docker 日志(我已经更改了项目以隐藏我的真实姓名和公司信息):

当我查找它说它丢失的文件时,我在代理文件夹中找到了它:C:\Users\me\AzureDevOps\agent_work\3\s\MyAPI\API\Web.API.csproj

查看日志,docker 正在尝试从 /var/lib/docker/tmp/docker-builder654845578/API/Web.API.csproj 复制它

也许我搞砸了设置 docker 任务并且没有在代理上提供正确的位置(老实说,没有地方将文件夹信息放在 docker 任务中)?评论/想法?

0 投票
0 回答
395 浏览

python - Azure DevOps 构建代理:没有可用的 Kerberos 凭据

我的 Azure DevOps 项目中有一个自定义 Linux 构建代理。sqlalchemy其中一个版本通过 Python 脚本使用和将 SQL 数据库上传到 Azure SQL 数据库ODBC Driver 17 for SQL Server

最近构建失败并出现以下错误:

仅当从 Azure DevOps Pipelines 计划生成时。当我在自定义构建代理上本地运行脚本时,一切正常。

0 投票
1 回答
1017 浏览

sql - SSDT 部署:不能在表或索引视图“表”上使用 CONTAINS 或 FREETEXT 谓词,因为它不是全文索引

我正在使用“Azure SQL 数据库部署”任务将 dacpac 作为发布管道的一部分部署到 Azure。

我收到错误消息:“不能在表或索引视图‘表’上使用 CONTAINS 或 FREETEXT 谓词,因为它不是全文索引。”

dacpac 部署到的表是一个空数据库,每次都在之前的 Azure CLI 任务中创建并在稍后的部署中删除。

这些问题似乎是订购的问题......

调查发布脚本显示:

第 2489 行 - 创建全文索引目录

第 70374 行 - 创建存储过程 - 此处失败

第 80491 行 - 在表格上创建全文

所以存储过程是在它所依赖的全文索引之前创建的。

我努力了:

  • 在“附加 SqlPackage.exe 参数”中添加/p:IncludeTransactionalScripts=True(据我所知,这没有区别)
  • 在执行任何其他操作之前手动添加全文索引的预部署脚本。这也失败了。由于它需要添加索引的表在部署前阶段还没有存在。

临时工作:

值得注意的是,我有一个临时工作。在那里,我让“Azure SQL 数据库部署”任务运行了两次。第一次抛出错误,但选择了“继续出错”,然后第二次成功。这感觉真的很糟糕而且很糟糕。

0 投票
0 回答
1079 浏览

azure-devops - Azure DevOps 构建管道中的多个作业未能通过 SonarQube 分析和 MsBuild

在 Azure DevOps 构建管道中,我想在 Azure 托管代理中运行 MsBuild 任务,并在自托管代理中运行声纳分析任务。

我知道我需要将工件从一个工作传递到另一个工作。为此,我尝试使用发布和下载管道工件任务。

  1. 首先,我在自托管代理上准备 SonarQube 分析
  2. 然后我发布.sonarqube文件夹
  3. 在 Microsoft 托管代理上,我将之前发布的 SonarQube 元数据下载到作业中
  4. 我运行 MsBuild 和测试任务
  5. 我发布测试结果
  6. 回到自托管代理,我下载 SonarQube 元数据和测试结果
  7. 我运行 SonarQube 分析

在 SonarQube 分析任务执行期间显示以下错误消息。

这是我如何进行的

关于自托管代理工作“PrepareSonarqube”

  • 准备声纳分析

准备 Sonarqube 分析(关于自托管代理作业)

  • 发布管道工件$(Pipeline.Workspace)/.sonarqube文件夹

发布管道工件 <code>$(Pipeline.Workspace)/.sonarqube</code> 文件夹(在自托管代理作业上)

在 Microsoft 托管代理作业“构建”上

  • Msbuild 和测试任务

Msbuild 和测试任务(在 Microsoft 托管代理作业上)

  • 发布管道工件“TestResults”文件夹

发布管道工件 TestResults 文件夹(在 Microsoft 托管代理作业上)

关于自托管代理工作“SonarQube 分析”

  • 下载管道工件“.sonarqube”文件夹

下载管道工件 .sonarqube(在自托管代理作业上)

  • 下载管道工件“TestResults”

下载管道工件 TestResults(在自托管代理作业上)

0 投票
1 回答
279 浏览

ssis - SSIS 项目无法在自托管代理上构建

我已经看到有关 SSIS 项目构建失败的其他问题记录,但没有适合我的情况。

我正在尝试在自托管代理上构建 SSIS 项目 (.dtproj)。

该项目在 Visual Studio 2019 和 Azure Pipelines 中构建良好,但是当我尝试使用自托管代理(通过 Azure DevOps 中的构建管道中的命令行任务)构建它时,我收到以下错误:

[调试]步骤的评估条件:'构建 SSIS 包'
[调试]评估:成功()
[调试]评估成功:
[调试]=>真
[调试]结果:真开始:构建 SSIS 包
====== ==================================================== ================ 任务:命令行
描述:在 Linux 和 macOS 上使用 Bash 以及在 Windows 上使用 cmd.exe 运行命令行脚本
版本:2.151.2
作者:Microsoft Corporation

==================================================== ======================= [debug]VstsTaskSdk 0.9.0 commit 6c48b16164b9a1c9548776ad2062dad5cd543352 [debug]进入 C:\My Project\agent_work_tasks\CmdLine_d9bafed4-0b18-4f58- 968d-86655b4d2ce9\2.151.2\cmdline.ps1。
[调试]从 C:\My Project\agent_work_tasks\CmdLine_d9bafed4-0b18-4f58-968d-86655b4d2ce9\2.151.2\task.json 加载资源字符串
[调试]加载了 6 个字符串。
[debug]SYSTEM_CULTURE: 'en-US'
[debug]从 C:\My Project\agent_work_tasks\CmdLine_d9bafed4-0b18-4f58-968d-86655b4d2ce9\2.151.2\Strings\resources.resjson\en-US\ 加载资源字符串resources.resjson
[debug]加载了 6 个字符串。
[debug]INPUT_FAILONSTDERR: 'false'
[debug] 转换为 bool: False
[debug]INPUT_SCRIPT: 'echo Building SsisProject...
[debug]
[debug]"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.com" C:\My Project\ agent_work\1\s\MySolution.sln /build Development /project C:\My Project\agent_work\1\s\ETL\Integration\MySsisProject\MySsisProject.dtproj' [debug]INPUT_WORKINGDIRECTORY: 'C:\My Project\agent_work\ 1\s'
[debug]断言容器路径存在:'C:\My Project\agent_work\1\s'
生成脚本。
[debug]AGENT_VERSION: '2.155.1'
[debug]AGENT_TEMPDIRECTORY: 'C:\My Project\agent_work_temp'
[debug]断言容器路径存在:'C:\My Project\agent_work_temp'
[debug]断言叶路径存在:' C:

=========================== 开始命令输出===================== ===
[debug]进入 Invoke-VstsTool。
[调试] 参数:'/D /E:ON /V:OFF /S /C "CALL "C:\My Project\agent_work_temp\dde3e815-8cea-4bea-ab26-77e9bb52d973.cmd""'
[调试] 文件名: 'C:\WINDOWS\system32\cmd.exe'
[debug] WorkingDirectory: 'C:\My Project\agent_work\1\s' "C:\WINDOWS\system32\cmd.exe" /D /E:ON /V :OFF /S /C "CALL "C:\My Project\agent_work_temp\dde3e815-8cea-4bea-ab26-77e9bb52d973.cmd""
构建 SsisProject...

Microsoft Visual Studio 2019 版本 16.0.29306.81。版权所有 (C) Microsoft Corp. 保留所有权利。

在命令行中指定了以下文件:

C:\我的项目\agent_work\1\s\MySolution.sln
我的项目\agent_work\1\s\ETL\Integration\MySsisProject\MySsisProject.dtproj

[调试]退出代码:1
[调试]离开Invoke-VstsTool。
[错误] Cmd.exe 以代码“1”退出。
[调试]已处理:##vso[task.logissue type=error]Cmd.exe 以代码“1”退出。
[调试]已处理:##vso[task.complete 结果=失败]检测到错误
[调试]离开 C:\My Project\agent_work_tasks\CmdLine_d9bafed4-0b18-4f58-968d-86655b4d2ce9\2.151.2\cmdline.ps1。

0 投票
1 回答
488 浏览

uwp - Azure DevOps 2019 服务器上的 UWP CI 构建失败

我在内部托管的 AzureDevOps 2019 服务器上配置了 UWP CI,但它失败并出现以下错误。我已将此作为指南。有人可以指导我走向成功吗?

配置后YAML如下:

资源:- repo:自我队列:名称:默认要求:- msbuild - visualstudio

您的构建管道引用了一个名为“Parameters.solution”的未定义变量。为此 YAML 文件创建或编辑构建管道,在“变量”选项卡上定义变量。请参阅https://go.microsoft.com/fwlink/?linkid=865972 您的构建管道引用了一个名为“Parameters.secureFile”的未定义变量。为此 YAML 文件创建或编辑构建管道,在“变量”选项卡上定义变量。请参阅https://go.microsoft.com/fwlink/?linkid=865972 您的构建管道引用了一个名为“buildPlatform”的未定义变量。为此 YAML 文件创建或编辑构建管道,在“变量”选项卡上定义变量。请参阅https://go.microsoft.com/fwlink/?linkid=865972 您的构建管道引用了一个名为“cert.secureFilePath”的未定义变量。为此 YAML 文件创建或编辑构建管道,在“变量”选项卡上定义变量。请参阅https://go.microsoft.com/fwlink/?linkid=865972 您的构建管道引用“BuildConfiguration”变量,您已选择该变量可在排队时设置。为此 YAML 文件创建或编辑构建管道,在“变量”选项卡上定义变量,然后选择选项以使其在排队时可设置。请参阅https://go.microsoft.com/fwlink/?linkid=865971 变量:appxPackageDir: '$(build.artifactStagingDirectory)\AppxPackages\' 步骤: - 任务:NuGetToolInstaller@0 displayName: 'Use NuGet 4.4.1' 输入:版本规范:4.4.1

  • 任务:NuGetCommand@2 displayName:'NuGet restore ***.sln' 输入:restoreSolution:'$(Parameters.solution)'

  • 任务:DownloadSecureFile@1 displayName:'下载安全文件'输入:secureFile:'$(Parameters.secureFile)'

  • 任务:VSBuild@1 displayName:'构建解决方案 Main/BoardPACWinApp.sln' 输入:解决方案:Main/BoardPACWinApp.sln vsVersion:16.0

msbuildArgs: '/p:AppxBundlePlatforms="$(buildPlatform)" /p:AppxPackageDir="$(appxPackageDir)" /p:AppxBundle=Always /p:UapAppxPackageBuildMode=StoreUpload /p:AppxPackageSigningEnabled=true /p:PackageCertificateThumbprint="" /p:PackageCertificateKeyFile="$(cert.secureFilePath)"' 平台:x64 配置:'$(BuildConfiguration)' 清洁:true msbuildArchitecture:x64

  • 任务:PublishBuildArtifacts@1 displayName:'发布工件:drop' 输入:PathtoPublish:'$(Build.ArtifactStagingDirectory)\AppxPackages' 启用:false

  • 任务:AppCenterDistribute@0 displayName:'部署到 Visual Studio App Center' 输入:symbolIncludeParentDirectory:false 启用:false


对于此设置,我使用了带有测试证书 (BoardPACWinApp_TemporaryKey.pfx) 的 VS 2019 16.3 构建工具,没有密码。请注意,我已经在构建服务器(Windows Server 2019(OS Build 17763.437))上安装了 VS 2019,只是为了确保构建成功并且确实如此。但是当我在 DevOps 构建代理上尝试同样的事情时,它会抛出错误。

MSBuild 参数:

[命令]"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\amd64\msbuild.exe" "C:\agent_work\4\s\Main\BoardPACWinApp.sln" / nologo /nr:false /dl:CentralLogger,"C:\agent_work_tasks\VSBuild_71a9a2d3-a98a-4caa-96ab-affca411ecda\1.146.0\ps_modules\MSBuildHelpers\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll";"RootDetailId= 1f510b32-fa94-449c-ba47-94b46a5869d0|SolutionDir=C:\agent_work\4\s\Main"*ForwardingLogger,"C:\agent_work_tasks\VSBuild_71a9a2d3-a98a-4caa-96ab-affca411ecda\1.146.0\ps_modules\MSBuildHelpers\ Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll" /p:AppxBundlePlatforms="x64" /p:AppxPackageDir="C:\agent_work\4\a\AppxPackages\" /p:AppxBundle=Always /p:UapAppxPackageBuildMode=StoreUpload /p:AppxPackageSigningEnabled=true /p:PackageCertificateThumbprint="" /p:PackageCertificateKeyFile="C:\agent_work_temp\BoardPACWinApp_TemporaryKey.pfx" /p:platform="x64" /p:configuration="release" /p:VisualStudioVersion="16.0" / p:_MSDeployUserAgent="TFS_22ec7900-72ed-4ebd-b5a6-d4ba51a210dd_build_16_0"

错误:

[错误]C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VisualStudio\v16.0\AppxPackage\Microsoft.AppXPackage.Targets(1300,5):错误 MSB3816:加载程序集“C :\Windows\ServiceProfiles\NetworkService.nuget\packages\runtime.win7.system.private.uri\4.3.0\runtimes\aot\lib\netcore50\System.Private.Uri.dll”失败。System.IO.FileNotFoundException:无法加载文件或程序集“System.Private.CoreLib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。该系统找不到指定的文件。

[错误]C:\Windows\ServiceProfiles\NetworkService.nuget\packages\runtime.win7.system.private.uri\4.3.0\runtimes\aot\lib\netcore50\System.Private.Uri.dll(0,0) : 错误 MSB3103:Resx 文件无效。字符串引用未设置为字符串的实例。参数名称:后缀

我的应用程序的 csproj:

如果你想让我调整我的 CI 设置,请告诉我我会做并发布我遇到的错误。谢谢你。