在TFS 2015新构建系统中,是否在构建完全删除后自动将构建号添加到全局列表(构建 - 项目名称)?
我是否需要编写自定义PowerShell任务才能完成此任务?
注意:XAML构建仍然像以前一样向全局列表添加构建号.
在 VSTS 中为 .Net 核心 API 构建 CI 管道。但是在构建时出现以下错误。
Publishing build artifacts failed with an error: Not found PathtoPublish: D:\a\1\s\$(buildStagingDirectory)
Run Code Online (Sandbox Code Playgroud)
这是我的构建定义看起来像
我已经提到 PathToPublish 作为 $(buildStagingDirectory)
我如何摆脱这个错误?
continuous-integration azure-devops azure-pipelines asp.net-core-webapi azure-devops-rest-api
我在 VSTS(也称为 Azure DevOps,现在已知)上有一个构建管道,它在一个代理池上运行,该代理池有 2 个构建代理(代理 A 和 B),并设置了持续集成。我想在不同的代理上禁用此构建管道的同时执行,即如果在代理 A 上运行构建,我不希望构建在代理 A 上的构建完成之前开始在代理 B 上运行。
我可以通过更改要求来取消所有构建代理运行构建的资格(例如,只有代理 A 满足需求)来实现这一点。但是,这是不可取的,因为构建代理与其他项目共享,有时所选代理会很忙,所以我不想将构建代理限制在任何特定机器上。
在 VSTS 中是否有一种简单的方法可以做到这一点?
我已将 PKCS#12 证书安全文件上传到我的 Azure DevOps 项目,并将密码添加为属性:
问题是,虽然我可以使用下载安全文件任务访问证书文件,但我看不到任何访问文件属性的方法?
与此同时,我通过在变量组中添加密码作为安全变量来实现我想要的工作,但我仍然对如何访问安全文件属性感到好奇。
我有一个构建和管道设置来构建一个解决方案,然后.exe通过 ftp 上传将完成的文件上传到我的网站。一切正常,我已将其设置为使用其中的文件创建一个名为$Build.BuildNumber(例如 20181218.4)的新文件夹.exe,以便我可以保留已完成构建的存档。
现在我想写BuildNumber一个文本文件坐在根目录下的某个地方有一个静态的路径/ URL所以我programms的可以读取该文件,并获得最新的版本号,并下载最新的.exe。
如何使用 Azure DevOps Pipelines 自动化创建此类文本文件的过程?
azure azure-devops azure-pipelines azure-pipelines-release-pipeline
我在我的公共 Github 存储库的 Azure Pipeline 中成功创建了构建工件:
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: drop
Run Code Online (Sandbox Code Playgroud)
但是在 CI 构建之后,我想将这个工件下载到我的笔记本电脑并检查它。我所能找到的就是如何进行手动 REST API 调用,我需要知道我的内部版本号和工件名称。
是否无法下载从 Azure Pipelines Web 界面注册的工件?
我在 Visual Studio Team Services 中有一个包含两个子文件夹的存储库:Code 和 Scripts。我现在使用触发器选项卡上的路径过滤器在 Scripts 文件夹中发生更改时触发一个构建 (BuildScripts),而在 Code 文件夹中发生更改时触发另一个构建 (BuildCode)。如果在推送或完成拉取请求后两个文件夹都已更改,则将触发两个构建。
如果仅在 Code 文件夹中有更改,我想要做的是触发 BuildCode 构建。有没有办法做到这一点?
azure-devops azure-pipelines azure-pipelines-release-pipeline
我有一个 Azure 函数(.NET Core),它被配置为从 JSON 文件和环境变量中读取应用程序设置:
var configurationBuilder = new ConfigurationBuilder()
.SetBasePath(_baseConfigurationPath)
.AddJsonFile("appsettings.json", optional: true)
.AddEnvironmentVariables()
.Build();
BuildAgentMonitorConfiguration configuration = configurationBuilder.Get<BuildAgentMonitorConfiguration>();
Run Code Online (Sandbox Code Playgroud)
appsettings.json 具有以下结构:
{
"ProjectBaseUrl": "https://my-project.visualstudio.com/",
"ProjectName": "my-project",
"AzureDevOpsPac": ".....",
"SubscriptionId": "...",
"AgentPool": {
"PoolId": 38,
"PoolName": "MyPool",
"MinimumAgentCount": 2,
"MaximumAgentCount": 10
},
"ContainerRegistry": {
"Username": "mycontainer",
"LoginServer": "mycontainer.azurecr.io",
"Password": "..."
},
"ActiveDirectory": {
"ClientId": "...",
"TenantId": "...",
"ClientSecret": "..."
}
}
Run Code Online (Sandbox Code Playgroud)
其中一些设置在 Azure 函数中配置为环境变量。一切都按预期工作:
现在的问题是在构建管道中配置其中一些变量,这些变量用于单元和集成测试。我试过如下添加一个变量组并将其链接到管道:
但是没有设置环境变量并且测试失败。我在这里缺少什么?
environment-variables .net-core azure-devops azure-functions azure-pipelines
通过 Azure DevOps / VSTS,已设置计划的构建每天在特定时间运行,例如下午 13 点。
但是,失败的计划构建不会发送电子邮件通知。当构建是手动启动或由代码更改触发时,它会这样做。
如何在计划构建失败时启用电子邮件通知?
在本地 Azure DevOps(版本 17.143.28621.4)中,有没有办法使用发布定义中的任务自动将 nuget 包从一个视图提升到另一个视图?
当我们为构建触发发布时,人工制品(即 nuget 包)会经历两个阶段
不幸的是,第 2 阶段目前是 Azure DevOps Web UI 中的手动步骤。它可以通过发布定义自动化吗?
如果这是不可能的,是否有更好的方法来组织我们的发布管道和包提要/视图,以使 nuget 包的发布完全自动化?
nuget azure-devops azure-pipelines azure-artifacts azure-devops-server-2019
azure-pipelines ×10
azure-devops ×9
azure ×2
azure-pipelines-release-pipeline ×2
.net-core ×1
nuget ×1
powershell ×1
tfs ×1
tfs-2015 ×1
tfsbuild ×1