标签: azure-pipelines

在构建完成后,TFS 2015不再向全局列表添加内部版本号?

在TFS 2015新构建系统中,是否在构建完全删除后自动将构建号添加到全局列表(构建 - 项目名称)?

我是否需要编写自定义PowerShell任务才能完成此任务?

注意:XAML构建仍然像以前一样向全局列表添加构建号.

powershell tfs tfsbuild tfs-2015 azure-pipelines

7
推荐指数
1
解决办法
2173
查看次数

发布构建工件失败并出现错误:未找到 PathtoPublish: D:\a\1\s\$(buildStagingDirectory)

在 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

7
推荐指数
3
解决办法
2万
查看次数

在 VSTS (Azure DevOps) 中禁用同一管道的同时构建

我在 VSTS(也称为 Azure DevOps,现在已知)上有一个构建管道,它在一个代理池上运行,该代理池有 2 个构建代理(代理 A 和 B),并设置了持续集成。我想在不同的代理上禁用此构建管道的同时执行,即如果在代理 A 上运行构建,我不希望构建在代理 A 上的构建完成之前开始在代理 B 上运行。

我可以通过更改要求来取消所有构建代理运行构建的资格(例如,只有代理 A 满足需求)来实现这一点。但是,这是不可取的,因为构建代理与其他项目共享,有时所选代理会很忙,所以我不想将构建代理限制在任何特定机器上。

在 VSTS 中是否有一种简单的方法可以做到这一点?

azure-devops azure-pipelines

7
推荐指数
1
解决办法
1699
查看次数

访问 Azure DevOps 安全文件属性

我已将 PKCS#12 证书安全文件上传到我的 Azure DevOps 项目,并将密码添加为属性:

添加安全文件

问题是,虽然我可以使用下载安全文件任务访问证书文件,但我看不到任何访问文件属性的方法?

与此同时,我通过在变量组中添加密码作为安全变量来实现我想要的工作,但我仍然对如何访问安全文件属性感到好奇。

azure-devops azure-pipelines

7
推荐指数
1
解决办法
991
查看次数

Azure DevOps Pipelines:使用当前内部版本号创建一个文本文件

我有一个构建和管道设置来构建一个解决方案,然后.exe通过 ftp 上传将完成的文件上传到我的网站。一切正常,我已将其设置为使用其中的文件创建一个名为$Build.BuildNumber(例如 20181218.4)的新文件夹.exe,以便我可以保留已完成构建的存档。

现在我想写BuildNumber一个文本文件坐在根目录下的某个地方有一个静态的路径/ URL所以我programms的可以读取该文件,并获得最新的版本号,并下载最新的.exe

如何使用 Azure DevOps Pipelines 自动化创建此类文本文件的过程?

azure azure-devops azure-pipelines azure-pipelines-release-pipeline

7
推荐指数
1
解决办法
6163
查看次数

如何从 Azure Pipelines 下载构建工件?

我在我的公共 Github 存储库的 Azure Pipeline 中成功创建了构建工件:

  - task: PublishBuildArtifacts@1
    inputs:
      pathtoPublish: '$(Build.ArtifactStagingDirectory)'
      artifactName: drop
Run Code Online (Sandbox Code Playgroud)

但是在 CI 构建之后,我想将这个工件下载到我的笔记本电脑并检查它。我所能找到的就是如何进行手动 REST API 调用,我需要知道我的内部版本号和工件名称。

是否无法下载从 Azure Pipelines Web 界面注册的工件?

azure azure-devops azure-pipelines

7
推荐指数
1
解决办法
5993
查看次数

仅当 Azure Pipelines 中的指定文件夹没有更改时才触发构建

我在 Visual Studio Team Services 中有一个包含两个子文件夹的存储库:Code 和 Scripts。我现在使用触发器选项卡上的路径过滤器在 Scripts 文件夹中发生更改时触发一个构建 (BuildScripts),而在 Code 文件夹中发生更改时触发另一个构建 (BuildCode)。如果在推送或完成拉取请求后两个文件夹都已更改,则将触发两个构建。

如果仅在 Code 文件夹中有更改,我想要做的是触发 BuildCode 构建。有没有办法做到这一点?

azure-devops azure-pipelines azure-pipelines-release-pipeline

7
推荐指数
2
解决办法
7690
查看次数

如何在 Azure DevOps 管道中配置环境变量?

我有一个 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 函数中配置为环境变量。一切都按预期工作:

Azure Function 应用程序设置

现在的问题是在构建管道中配置其中一些变量,这些变量用于单元和集成测试。我试过如下添加一个变量组并将其链接到管道:

Azure DevOps 任务组

但是没有设置环境变量并且测试失败。我在这里缺少什么?

environment-variables .net-core azure-devops azure-functions azure-pipelines

7
推荐指数
1
解决办法
1万
查看次数

Azure DevOps / VSTS 失败的计划生成的电子邮件通知

通过 Azure DevOps / VSTS,已设置计划的构建每天在特定时间运行,例如下午 13 点。

但是,失败的计划构建不会发送电子邮件通知。当构建是手动启动或由代码更改触发时,它会这样做。

如何在计划构建失败时启用电子邮件通知?

azure-devops azure-pipelines

7
推荐指数
1
解决办法
1885
查看次数

使用发布定义自动提升 nuget 包

在本地 Azure DevOps(版本 17.143.28621.4)中,有没有办法使用发布定义中的任务自动将 nuget 包从一个视图提升到另一个视图?

当我们为构建触发发布时,人工制品(即 nuget 包)会经历两个阶段

  1. PreRelease:包被推送到提要(在@Local 视图中结束)。
  2. Release:包应该从@Local 提升到@Release 视图。

不幸的是,第 2 阶段目前是 Azure DevOps Web UI 中的手动步骤。它可以通过发布定义自动化吗?

如果这是不可能的,是否有更好的方法来组织我们的发布管道和包提要/视图,以使 nuget 包的发布完全自动化?

nuget azure-devops azure-pipelines azure-artifacts azure-devops-server-2019

7
推荐指数
1
解决办法
3510
查看次数