【发布时间】:2020-04-25 10:23:57
【问题描述】:
我有一个 Azure 管道,它在“签入”到 TFS 源代码控制时触发。它还运行一个简单的 PowerShell 脚本。
在该签入触发器上,我还想获取签入的文件,并在我的 PowerShell 脚本中引用它。该文件是一个 SQL 脚本,我将通过 PowerShell 对 SQL 服务器运行。
如何在我的 PowerShell 代理作业任务中引用该签入文件?
例如,您可以在 PowerShell 任务中使用 $(Build.Repository.LocalPath) 之类的内容引用您的工作文件夹。
然后$(Build.Repository.LocalPath)/mypath/myfile.sql 用于特定文件。我假设有某种“工作”变量可以引用刚刚触发触发器的项目。
【问题讨论】:
-
在我看来,您将源代码控制和代码生成纠缠在一起。这对我来说似乎是一种反模式。我建议您只遍历一个文件夹并运行其中找到的所有脚本(并记录运行的脚本)。添加和删除文件时,它们会正确运行。您无需将它们显式添加到 powershell 脚本中。
标签: powershell tfs azure-devops azure-pipelines