Azure devops 如何设置Azure DevOps管道,以便在推送到BitBucket存储库时触发?

Azure devops 如何设置Azure DevOps管道,以便在推送到BitBucket存储库时触发?,azure-devops,continuous-integration,bitbucket,azure-pipelines,devops,Azure Devops,Continuous Integration,Bitbucket,Azure Pipelines,Devops,我有一个BitBucket存储库,到目前为止看起来像这样: # Branches that should trigger the CI pipeline upon change trigger: - master - develop - feature/* pool: vmImage: 'macos-latest' variables: buildConfiguration: 'Release' outputDirectory: '$(build.binariesDirector

我有一个BitBucket存储库,到目前为止看起来像这样:

# Branches that should trigger the CI pipeline upon change
trigger:
- master
- develop
- feature/*

pool:
  vmImage: 'macos-latest'

variables:
  buildConfiguration: 'Release'
  outputDirectory: '$(build.binariesDirectory)/$(buildConfiguration)'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '**/*.sln'

- task: SonarCloudPrepare@1
  inputs:
    SonarCloud: 'Sonar Cloud'
    organization: 'org-name'
    scannerMode: 'MSBuild'
    projectKey: 'project-key'
    projectName: 'Project Name'

- task: XamarinAndroid@1
  inputs:
    projectFile: '**/*droid*.csproj'
    outputDirectory: '$(outputDirectory)'
    configuration: '$(buildConfiguration)'

- task: XamariniOS@2
  inputs:
    solutionFile: '**/*.sln'
    configuration: 'Release'
    clean: true
    packageApp: true
    buildForSimulator: true
    runNugetRestore: false

- task: SonarCloudAnalyze@1
- task: SonarCloudPublish@1
  inputs:
    pollingTimeoutSec: '300'
  • 主人
  • 发展
  • 特征/a
  • 功能/b
  • 功能/c
我正在与Xamarin合作,以创建一个Android/iOS应用程序,到目前为止,我的管道如下所示:

# Branches that should trigger the CI pipeline upon change
trigger:
- master
- develop
- feature/*

pool:
  vmImage: 'macos-latest'

variables:
  buildConfiguration: 'Release'
  outputDirectory: '$(build.binariesDirectory)/$(buildConfiguration)'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '**/*.sln'

- task: SonarCloudPrepare@1
  inputs:
    SonarCloud: 'Sonar Cloud'
    organization: 'org-name'
    scannerMode: 'MSBuild'
    projectKey: 'project-key'
    projectName: 'Project Name'

- task: XamarinAndroid@1
  inputs:
    projectFile: '**/*droid*.csproj'
    outputDirectory: '$(outputDirectory)'
    configuration: '$(buildConfiguration)'

- task: XamariniOS@2
  inputs:
    solutionFile: '**/*.sln'
    configuration: 'Release'
    clean: true
    packageApp: true
    buildForSimulator: true
    runNugetRestore: false

- task: SonarCloudAnalyze@1
- task: SonarCloudPublish@1
  inputs:
    pollingTimeoutSec: '300'
但是,即使在我推到一个远程功能/*分支,或者在我合并了一个PR dodeveloper之后,我的构建管道也不会运行。我尝试在Azure DevOps中的触发器选项卡上选中“从这里覆盖YAML连续集成触发器”,然后在“分支过滤器””上包含相同的分支

以下是管道如何连接到我的Bitbucket存储库


但是,除非我手动执行,否则管道仍然不会运行。你知道我做错了什么吗?这不应该像现在这样吗?

这能回答你的问题吗@Nouman谢谢,但是没有。我能够保存对管道的更改,并且我刚刚验证Azure DevOps能够在Bitbucket.TBH中创建必要的web挂钩,您的管道看起来很好。我已经使用您的yml(删除了Sonar步骤)重新创建了一个构建管道,当我检查BitBucket中的一个功能分支时,可以很容易地触发它。当
develope
分支被设置为“手动和计划构建的默认分支”时,这个问题可能会重现,只有从Bitbucket repo中的
develop
创建的分支才能触发Azure DevOps中的CI构建,这与
feature/*
相同。我认为这就是我们遇到这个问题的原因,但我通过多重测试发现了这一点,并且没有找到任何官方文档可以支持,因此可能是不正确的。由于未知的原因,这一理论不适用于
master
。。