我有一个Azure管道,可在“签入”到TFS源代码控制时触发。它还运行一个简单的PowerShell脚本。
在该签入触发器上,我还要提取已签入的文件,并在我的PowerShell脚本中引用它。该文件是一个SQL脚本,我将通过PowerShell在SQL Server上运行。
如何在PowerShell代理作业任务中引用已签入的文件?例如,您可以在PowerShell任务中使用$(Build.Repository.LocalPath)
之类的名称引用工作文件夹。
然后是特定文件的$(Build.Repository.LocalPath)/mypath/myfile.sql
。我假设存在某种“工作”变量,可以引用刚刚触发触发器的项目。
似乎您已在构建管道中启用了CI触发器。如果仅修改源代码控制中已存在的文件,则可以在脚本中使用类似$(Build.SourcesDirectory)/myfile.sql的代码。
如果签入一个新文件(仅一个文件),则可以在脚本中获取此版本中包含的变更集/提交并获取文件。
如果签入多个文件,那将会很复杂,您需要获取此构建中包含的变更集/提交并查询文件以获取所需的文件。