发布定义时如何访问VSTS Source Repo中的文件?

PRA*_*EEN 4 git azure-devops azure-pipelines azure-pipelines-release-pipeline

我想在发布版本时访问VSTS源代码存储库(Git)中的约10个文件。我已将PowerShell脚本保存在VSTS源存储库中,并且在部署后,我需要运行这些脚本文件。

在此处输入图片说明

所以我在发布定义中添加了部署后的Power Shell任务,但不确定如何访问这些脚本文件以及如何运行这些脚本文件?我可以从VSTS构建定义中发布这些脚本文件,并且可以在发布定义时使用,但是我不想以这种方式使用。

我希望发布定义独立运行。

jes*_*ing 8

在发布定义中,您可以添加一个或多个伪像源。这些源可以包括TFVC和Git存储库以及构建定义的输出。

引用您的存储库作为人工制品

您可以有多个人工制品来源,因此可以将Git Repo添加为辅助来源:

在此处输入图片说明

注意:这不仅会获取这些脚本,还会在发布工作流程中再次提取存储库。如果您的存储库很大,这可能很耗时。

您可以考虑将它们放在TFVC存储库中,因为这样可以非常具体地映射所需的脚本。

在单独的构建定义中发布脚本

通常的方法是将这些脚本作为构建定义的伪制品发布(不必与您的主构建相同的构建定义)。这样,您只需要同步这些脚本即可,而无需获取完整的存储库。需要明确的是,您可以有一个内部版本定义,该内部定义包含链接到发行版的内部版本内容,而另一个内部版本定义链接仅发布脚本。

在此处输入图片说明

注意:您不需要每次使用脚本时都发布这些脚本,您的发行版定义可以继续引用几个月前发布的工件。脚本构建只需要运行即可发布更改的脚本。带有触发器过滤器的CI构建仅可用于在脚本更改时重新发布脚本。

利用脚本库,例如PowerShell Gallery,NuGet,Chocolatey

您可能要考虑的其他选项是将脚本发布到PowerShell画廊,Chocolatey画廊等,并且作为发布工作流程的一部分,然后可以通过One-Get获取这些脚本

可以在构建定义或nuget.exe中使用NuGet任务,以将这些脚本推送到VSTS软件包管理功能。而且,您可以使用命令行命令或嵌入式Powershell任务在代理上安装Powershell模块。

使用REST API

这是一种以开发人员为中心的方法,您可以调用VSTS / TFS的REST API从Git存储库下载单个文件。该下载项目API允许你提取单个文件。创建使用Invoke-WebRequestpowershell命令下载并保存所需文件的Build任务并不难。

创建自定义构建任务

您可以考虑的最后一个选择是构建自定义的构建/发布任务。PowerShell脚本可以轻松地包含在自定义生成任务中,并且可以安装到VSTS / TFS帐户。这样,您可以重复使用脚本,如果需要,可以在脚本周围有一个小的UI,而无需完全引用存储库。每次更改脚本时,您都必须更新和发布任务。尽管您可以使用REST API在调用脚本之前始终下载脚本。