我正在使用 Azure devOps 构建和部署我的应用程序,在该应用程序中,我有一个项目正在被其他相关应用程序使用(我们称之为项目 N)。因此,我决定将此项目部署为 NuGet 包,并在构建期间使用它。
项目 N 可能会经常更改,因此我在定义可靠设置时遇到了一些麻烦:
- 仅当项目 N 及其依赖项发生更改时才创建 NuGet 包
- 保证,如果要创建 NuGet 包,按照 1),管道会在其他任何事情之前执行此操作
到目前为止,我设置的方式是有两个不同的管道,一个创建 NuGet 包并部署它(NuGet 管道),另一个使用该 NuGet 包,然后构建和部署应用程序(主管道)。
问题是,当与项目 N 相关的文件以及解决方案的一些剩余文件中发生更改时,我不知道如何制定一条规则,上面写着“在主管道之前运行 NuGet 管道”,所以对于我必须相信运气会发生这种情况,如果没有,我将不得不在两个构建完成后手动触发主管道。因为我想确保项目 N 中引入的新更改不会破坏解决方案。
有没有一种优雅的方式来做到这一点?我可以设置一个触发器,只要 Pipeline NuGet 完成,它就会触发主管道,但是通过这样做,每当对项目 N 和解决方案的其余部分进行更改时,我都会触发主管道两次。