问题标签 [azure-pipelines-tasks]
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.
azure-devops - 如何将类库项目中的文件和测试程序集包含到已发布的工件中
我有一个解决方案,其中包括一个NET Core 3.1
Web API 项目和其他几个作为NET Framework 4.8
类库项目的项目。
在我的构建管道中,解决方案构建没有任何问题,我有一个非常简单的构建,但是我需要此构建的输出,例如测试程序集以及配置文件,以便可用于我的发布管道。原因是我的发布管道与测试计划和测试套件相关联,并且是按需运行这些测试计划所必需的。
在我从构建管道发布工件时,不包含任何测试程序集,唯一包含的内容是来自 Web 应用程序的那些我不需要用于测试目的的文件。我在几个不同的地方读过,我可以将其他项目添加为依赖项,但这对我来说似乎不正确,因为确实需要这些依赖项。还有其他方法可以让构建管道发布那些其他程序集和文件吗?
[更新] 解决方案 1:
我在其他地方看到的一种解决方案是使用Copy files
任务将程序集复制到${Build.ArtifactStagingDirectory}
然后发布工件,但要么它不工作,要么我做错了什么。这是我对 2 个任务的 YAML 定义:
FWIW 在CopyFiles
日志中我确实看到文件正在被复制,例如:
将 d:\a\1\s\test\BaseTest.cs 复制到 ${Build.ArtifactStagingDirectory}\test\BaseTest.cs
java - Azure 构建代理
情况:在 azure 管道的构建过程中,我在自托管代理上使用 JavaToolInstaller,并将“java/JAVA_HOME_8_x64_”放在目录中
背景:当我对该目录应用完全权限时,我不认为这是权限问题并为构建过程创建它
评估:以前有人见过这个问题吗?
重现步骤 - 托管现场代理
JavaToolInstaller
构建过程中出错
azure-pipelines - 如何在 Azure 管道中的 vstest 任务中提供多个测试类别
我的项目有一些带有特定标签的 Nunit 测试,称为类别。
例如:32 位应用程序测试有x32
as 标签,64 位应用程序测试有x64
as 标签。
现在使用 vstest 任务,我可以为这样的一个类别运行测试:
当我想在我给出的同一个任务中运行多个类别TestCategory=x32,x64
并且它不起作用时。任务失败,控制台中没有任何错误。
我什至试过
关于如何提供多个类别的任何想法?
azure-pipelines - 使用管道自动创建 Azure VM 的最佳方法是什么?
我的项目有每周运行的 UI 自动化测试。到目前为止,我们正在使用一个实用程序来触发不同操作系统配置集的测试。现在,我们计划使用 Azure 管道来自动化该过程。我已经配置了一个构建管道,它将使用自托管代理将代码从多个存储库拉到 VM,并构建测试项目并运行测试。但是对于初始部分,我在 azure dev test lab 中手动创建了一个 vm,并手动配置了代理并运行了管道。现在我需要找到一种方法来在开发测试实验室中使用管道自动创建 VM(7 个版本的 Windows 操作系统),一旦创建了 VM,安装自定义工件并使用无人值守的配置方法配置代理。最后运行测试。任何人都可以提出实现这一目标的最佳方法吗?提前致谢 :)
azure-devops - 有没有办法为 Azure Devops 的 yaml 管道中的任务动态分配名称?
我正在使用 DownloadPipelineArtifact@2 任务并循环遍历一系列管道以下载每个管道的工件。我想在后续任务中使用每个任务的 $(BuildNumber) 输出。
不幸的是,我无法这样做,因为我需要通过任务名称来引用任务,并且我无法为任务分配动态名称。我收到一条错误消息
有效名称只能包含字母数字字符和“_”,并且不能以数字开头。
我尝试使用运行时变量、表达式和名称计数器,但都失败并出现相同的错误。我在这里假设名称字段不是动态分配的。
没有名称字段一切正常。但据我了解,我需要任务的名称来引用它并提取它的输出。就像是:
{{ taskName.BuildNumber }}
如果有人知道我可以动态分配名称或通过它为循环中的每个任务提取 $(BuildNumber) 的任何方式,请告诉我。谢谢!
azure - Azure DevOps - 发布管道任务引发 Http 超时异常
使用 Azure DevOps - PublishPipelineArtifact 任务时出现 Http 超时异常。直到昨天早上,这项任务一直运行良好,但在尝试多次尝试后突然整晚都出错。有人可以帮忙吗?
下面使用的任务:
版本:1.2.3 发布文件大小:仅几个字节
例外:
azure-devops - Azure Artifacts 仅下载在构建服务器上部署所需的特定文件
我有一个包,它是通过从 Artifacts 中选择文件手动准备的,然后下载该包并将其传输到服务器,然后从那里执行 powershell 脚本进行部署。我们想通过 CI 管道实现部署,下面是我们正在执行的任务,创建了一个具有以下 2 个步骤的设置:工件和阶段 已设置的管道运行良好,可以正常下载构建代理服务器上的所有文件,然后根据需要成功执行脚本,但问题来自 Artifacts 部分,它正在下载所有其他文件以及从我们只需要 5 个的 drop -6 zip 文件和其余的都不需要。我希望管道仅从成功构建中下载特定文件夹,然后从构建服务器执行脚本。例如下面它的下载所有但实际上我们只需要图像中突出显示的文件夹中的文件:
管道有时会执行并成功完成,有时会花费更长的时间或失败并显示以下错误消息:
2020-09-08T03:36:33.6433775Z 剩余 1 次下载。
2020-09-08T03:36:38.6591164Z 剩余 1 次下载。
2020-09-08T03:36:43.6665857Z 剩余 1 次下载。
2020-09-08T03:36:43.6666024Z ##[警告] 3 分钟内没有下载任务完成。剩余任务状态:
2020-09-08T03:36:43.6666545Z ##[警告] WaitingForActivation:1 个任务。
2020-09-08T03:36:48.6822324Z 剩余 1 次下载。
2020-09-08T03:36:53.6868753Z 剩余 1 次下载。
……
我尝试重新启动 VSTS 代理服务,重新启动管道,但结果各不相同。任何人都可以帮助了解如何使管道仅选择以黑色突出显示的特定文件夹。神器画面。
对于给定的环境,我的管道任务有 3 个步骤: 1.
代理作业
2.准备包
3.部署
代理作业:执行计划:
并行度:无;超时:0 作业取消超时:1准备包:
脚本路径:$(System.DefaultWorkingDirectory)/TestRelease2020-1.1/drop/Tools/A/_1.ps1
参数:“.\Tools\Test.Deploy\Test.Deploy.exe”
“.\Tools\Test.部署\Xml\A_PreparePackage.xml" "源\Project_ABCProject\XYZPackages"工作目录:$(System.DefaultWorkingDirectory)/TestRelease2020-1.1/drop
部署:脚本路径:$(System.DefaultWorkingDirectory)/TestRelease2020-1.1/drop/Tools/A/_deploy_1.ps1
参数:“.\Tools\Test.Deploy\Test.Deploy.exe”
“.\Tools\Test.Deploy \Xml\A_config.xml" 工作目录:$(System.DefaultWorkingDirectory)/TestRelease2020-1.1/drop
azure-devops - Azure Devops 服务连接如何安全?
目前,我审核 Azure Devops 服务连接的安全性:存储在服务连接中的凭据有多安全?
示例是 TwineAuthenticate 任务。它将从服务连接中提取凭据pythonUploadServiceConnection
并将它们写入 PyPI 资源文件。
或者是吗?
检查此文件(编辑)
显示用户和密码的值为***
,这不是服务连接提供的凭据。
那么twine
读取 PyPI 资源文件时发生了什么神奇的事情呢?这是安全的还是只是被混淆了?