在单个Azure管道中同时从SVN和Git中提取是否可能



我正在尝试建立一个Azure DevOps管道来构建一个C++项目。项目源代码位于Azure DevOps Git中,但它依赖于存储在单独SVN服务器中的第三方库(二进制文件和头文件(。

有办法做到这一点吗?YAML管道的文档听起来像是我只能使用多个源,如果它们是git、github或bitbucket。因此,即使我有一个Azure服务器连接到SVN服务器,我似乎只能在管道想要从唯一的地方使用它。

我需要在管道中复制的手动过程如下:

  1. 从Azure DevOps Git获取我的项目源代码
  2. 从SVN服务器获取ThirdParty内容
  3. 将ThirdParty二进制文件移动/复制到我的构建输出文件夹中
  4. 构建我的项目

这能做到吗?如果是,如何?

我要回答我自己的问题,因为我做了"有点";找到并回答。我不会将其标记为答案,因为也许有人有更好的想法。

我的解决方案是提取我需要的svn代码,然后将其作为通用工件发布到Azure DevOps项目。它涉及相当多的命令行内容,并安装Azure CLI和";devops";扩大但它让我把我需要的所有第三方二进制文件都放在那里,然后我就可以用一个任务把它拉到我的管道中。这是我使用的任务

- task: UniversalPackages@0
displayName: 'ThirdParty download'
inputs:
command: download
vstsFeed: Software/SoftwareInternalFeed               
vstsFeedPackage: 'thirdparty-windows'               # Name of package
vstsPackageVersion: 1.0.0                             # Semantic version of package
downloadDirectory: '$(Build.SourcesDirectory)ThirdParty'

这有很多步骤,包括让自己成为个人访问令牌,但它确实有效

最新更新