将自定义exe上载到Azure Devops管道

将自定义exe上载到Azure Devops管道,azure,azure-devops,azure-pipelines,azure-pipelines-build-task,Azure,Azure Devops,Azure Pipelines,Azure Pipelines Build Task,我想执行作为CI构建的一部分创建的命令行应用程序 命令行应用程序与运行生成的存储库无关。基本上,它是一个工具,用来向公司的web应用程序发送一些与项目相关的元数据,以收集一些指标 我似乎可以使用命令行任务执行它,如下所述: 然而,问题是-如何将自定义工具上载到Azure Devops 我知道创建自定义任务是可能的,但似乎需要花费大量的精力来创建,特别是考虑到我有一个控制台工具正在做我需要的事情。我通过在git repo中包含一个单独的部署文件夹和源代码来实现这一点。此文件夹包含我需要调用以部署

我想执行作为CI构建的一部分创建的命令行应用程序

命令行应用程序与运行生成的存储库无关。基本上,它是一个工具,用来向公司的web应用程序发送一些与项目相关的元数据,以收集一些指标

我似乎可以使用命令行任务执行它,如下所述:

然而,问题是-如何将自定义工具上载到Azure Devops


我知道创建自定义任务是可能的,但似乎需要花费大量的精力来创建,特别是考虑到我有一个控制台工具正在做我需要的事情。

我通过在git repo中包含一个单独的部署文件夹和源代码来实现这一点。此文件夹包含我需要调用以部署的所有额外内容

如果您想将这些工件保存在不同的repo和/或不同的工件中,您可以这样做,因为您可以获得任意数量的不同工件

然后在发布工件时包括部署文件夹。在构建步骤中,您下拉工件,其中包括您的EXE

您应该能够使用诸如动态安装助手库之类的东西,但我所需的库都不受支持


您还可以使用自托管代理,它是您自己的主机,通常是Azure VM。您可以在上面安装所需的所有内容,然后安装一个DevOps自托管代理,让构建管道使用它。

实现这一点的方法包括创建一个部署组,并向该组添加一个服务器,您可以在该组中访问并有权上载控制台。它可以是onprem,也可以是cloud,具体取决于您的需求

创建exe的生成 将exe上载到blob存储。 创建SAS令牌以访问blob。 在生成中,使用PowerShell脚本创建任务。在PS脚本中,下载exe解压,并将其复制到Build.StagingDirectory/yourToolFolder。然后在PS脚本中运行它。您可能希望传递参数,如构建代理上的repo位置。
谢谢这个exe不是我正在构建的存储库的一部分,所以我猜它不是真正的构建工件,而是一个静态可执行文件。但是关于使用私有构建代理的公平点——这就是我实际上正在做的,所以我只需要确保我的exe在构建VM上正确定位。我现在无法检查,但我非常确定构建步骤可以从多个存储库获取工件。但是,如果您已经在使用构建代理,则只需将其设置在那里即可。不建议在自定义扩展中上载工具本身。相反,请考虑创建一个工具安装程序任务,以便在适当的时候下载并安装该工具。这方面的一个例子是or