首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打开github pr (Azure管线YAML)时未触发PR

打开github pr (Azure管线YAML)时未触发PR
EN

Stack Overflow用户
提问于 2020-11-27 09:49:04
回答 3查看 1.5K关注 0票数 3

目标

我对Azure和管道非常陌生,我正试图从Azure的pr上触发一条管道。回购者住在吉突布。

这是管道yaml:pipeline.yml

代码语言:javascript
复制
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文件的其他细节与此无关,因此将其排除在外。

其他我试过的事情

  • 在Github上开启新的公共关系
  • 结束/重开公共关系--关于Github
  • 对现有公共关系的改造

->仍然没有触发管道。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-12-02 10:06:55

解决方案是转到Azure管道,->编辑管道,->触发器,->启用PR验证。

票数 3
EN

Stack Overflow用户

发布于 2020-11-27 10:06:10

你在准备过程中有个错误。应该是这样的:

代码语言:javascript
复制
trigger: none # turned off for push

pr:
  - feature/automated-testing

steps:
- script: echo "PIPELINE IS TRIGGERED FROM PR"

请把这个换一下

代码语言:javascript
复制
  - stage:
      - script: echo "PIPELINE IS TRIGGERED FROM PR"

代码语言:javascript
复制
  - stage:
    jobs:
    - job:
      steps:
      - script: echo "PIPELINE IS TRIGGERED FROM PR"

编辑

我用了你的管道

代码语言:javascript
复制
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)....

一切似乎都在起作用。

这是按下为它而建

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

票数 3
EN

Stack Overflow用户

发布于 2020-11-30 02:20:19

您可以按照以下步骤对管道进行故障排除。

首先,您需要确保从上的yaml文件中创建一个管道。请参阅本教程中的示例

2,下面部分yaml文件是不正确的。- script任务应该在steps部分下。

更改:

代码语言:javascript
复制
stages:
- stage:
    - script: echo "PIPELINE IS TRIGGERED FROM PR"

至:

代码语言:javascript
复制
 stages:
 - stage:
   jobs:
   - job:
     step:
     - script: echo "PIPELINE IS TRIGGERED FROM PR"

3 .我看到你在yaml文件中使用了模板。请确保模板yaml文件格式正确。例如:

您的dockerbuild-dashboard-client.yml模板是一个阶跃模板。您需要确保其内容如下所示:

代码语言:javascript
复制
parameters:
...
steps:
- script: echo "task 1"
- script:  echo "task 2"

你的webapprelease-dashboard-dev-client.yml作业模板。其内容如下:

代码语言:javascript
复制
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: sign

4、管道建成后,在蔚蓝devops上运行。您可以手动运行此管道,以确保yaml文件中没有错误,并且可以成功执行该管道。

5、以上各项检查完毕,但PR触发器仍未工作。您可以尝试删除在Azure门户上创建的管道(在第一步中创建),并从yaml文件重新创建一个新管道。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65035156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档