我正在尝试获得一个管道来处理内部NuGet封装项目的完整CI / CD。我遇到的问题是寻找一种方法来排除在提取请求中进行验证构建的NuGet发布步骤。有没有办法确定该构建是作为拉取请求验证构建触发的?
我已经尽力设置了第三个分支(主->发布;预发布-> alpha;开发未发布),但是除非我要求开发人员从开发中分支出来并向其中发出拉取请求我仍然有同样的问题。即使这样,从开发到预发布以及从预发布到发布的请求仍然存在问题,除非我从请求中删除验证版本。我不想这么做。
我已经使用了msdn提供的分支条件,但是它们对拉取请求验证的构建没有帮助。
验证版本最终会在代码检查之前发布版本,然后合并后的后续版本将失败,因为该版本已存在。
答案 0 :(得分:2)
在发布任务的自定义条件中输入以下内容:
and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
如果构建是PR期间的验证构建,则现在将不执行任务。