我正在考虑将我们的工作从内部 TFS 服务器迁移到 VSTS。当我们使用一些自定义任务时,我一直在测试 VSTS 构建定义,其中一个运行批处理文件,该批处理文件又运行 InnoSetup生成“setup.exe”文件。
这可以使用“命令行”构建任务来实现吗?我意识到我们无法在托管代理上安装我们自己的软件,但是如果 InnoSetup exe 处于源代码控制之下(即存在于“$(Build.SourcesDirectory)”中),我可以运行它吗?或者是否存在阻止 exe 的限制是否在 VSTS 构建服务器上运行?
假设这是可能的,批处理文件需要一个参数 - 将创建 setup.exe 的路径。我在这里会使用什么?
我尝试使用批处理文件来模拟我想要执行的操作,该批处理文件从“dir”命令生成文本文件(使用参数作为路径):
dir *.* >%1\test.txt
我使用 $(build.artifactstagingdirectory)
作为命令行任务的参数,但工件中没有“test.txt”文件。我想事情没那么简单! (批处理文件确实运行,因为构建输出显示了我包含的一些“echo”命令)。
最佳答案
没关系,我意识到我需要将命令行任务放在“发布工件”任务之前。我猜后者负责将所有内容打包到工件暂存目录中。
接下来我需要将 InnoSetup exe 添加到源代码管理中,看看是否可以从命令行任务运行它,但这是朝着正确方向迈出的一步...
关于azure-pipelines - 命令行构建任务来运行 exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49251877/