目标
我对Azure和管道非常陌生,我正试图从Azure的pr上触发一条管道。回购者住在吉突布。
这是管道yaml:pipeline.yml
trigger: none # I turned this off for to stop push triggers (but they work fine)
pr:
branches:
include:
- "*" # This does not trigger the pipeline
stages:
- stage: EchoTriggerStage
displayName: Echoing trigger reason
jobs:
- job: A
steps:
- script: echo 'Build reason::::' $(Build.Reason)
displayName: The build reason
# ... some more stages here triggered by PullRequests....
# ... some more stages here triggered by push (CI)....吉突布的公关人员看上去如下:

问题所在
但是,当push触发器正常工作时,管道不会被触发。
我在文档上读过,但我不明白为什么这不起作用。
当我通过git push触发管道时,管道运行得非常好。然而,当我试图触发它的公关从吉特布,什么都没有发生。在上面的代码中,我尝试关闭push触发器,并允许所有pr触发管道。还是一无所获。
我不想删除管道并创建一个新的管道。
更新
我更新了yaml文件,使其按照下面的建议工作。由于管道现在实际上通过一个push命令运行,所以yaml文件的其他细节与此无关,因此将其排除在外。
其他我试过的事情
->仍然没有触发管道。
发布于 2020-12-02 10:06:55
解决方案是转到Azure管道,->编辑管道,->触发器,->启用PR验证。
发布于 2020-11-27 10:06:10
你在准备过程中有个错误。应该是这样的:
trigger: none # turned off for push
pr:
- feature/automated-testing
steps:
- script: echo "PIPELINE IS TRIGGERED FROM PR"请把这个换一下
- stage:
- script: echo "PIPELINE IS TRIGGERED FROM PR"至
- stage:
jobs:
- job:
steps:
- script: echo "PIPELINE IS TRIGGERED FROM PR"编辑
我用了你的管道
trigger: none # I turned this off for to stop push triggers (but they work fine)
pr:
branches:
include:
- "*" # This does not trigger the pipeline
stages:
- stage: EchoTriggerStage
displayName: Echoing trigger reason
jobs:
- job: A
steps:
- script: echo 'Build reason::::' $(Build.Reason)
displayName: The build reason
# ... some more stages here triggered by PullRequests....
# ... some more stages here triggered by push (CI)....一切似乎都在起作用。

我没有那么做,但您可以尝试通过分支策略来强制执行。要做到这一点,请转到回购设置,然后如下所示:

发布于 2020-11-30 02:20:19
您可以按照以下步骤对管道进行故障排除。
首先,您需要确保从上的yaml文件中创建一个管道。请参阅本教程中的示例。
2,下面部分yaml文件是不正确的。- script任务应该在steps部分下。
更改:
stages:
- stage:
- script: echo "PIPELINE IS TRIGGERED FROM PR"至:
stages:
- stage:
jobs:
- job:
step:
- script: echo "PIPELINE IS TRIGGERED FROM PR"3 .我看到你在yaml文件中使用了模板。请确保模板yaml文件格式正确。例如:
您的dockerbuild-dashboard-client.yml模板是一个阶跃模板。您需要确保其内容如下所示:
parameters:
...
steps:
- script: echo "task 1"
- script: echo "task 2"你的webapprelease-dashboard-dev-client.yml是作业模板。其内容如下:
parameters:
name: ''
pool: ''
sign: false
jobs:
- job: ${{ parameters.name }}
pool: ${{ parameters.pool }}
steps:
- script: npm install
- script: npm test
- ${{ if eq(parameters.sign, 'true') }}:
- script: sign4、管道建成后,在蔚蓝devops上运行。您可以手动运行此管道,以确保yaml文件中没有错误,并且可以成功执行该管道。
5、以上各项检查完毕,但PR触发器仍未工作。您可以尝试删除在Azure门户上创建的管道(在第一步中创建),并从yaml文件重新创建一个新管道。
https://stackoverflow.com/questions/65035156
复制相似问题