Bitbucket和Azure DevOps之间的集成
我的要求是我想将我的Bitbucket repo与Azure DevOps CI服务器集成,以便在我推送Bitbucket repo中的代码时,我的管道应该在Azure DevOps CI服务器中触发,因为我已经在Bitbucket repo中创建了一个webhook 我已经在URL部分添加了Azure DevOps CI服务器URL,并在Bitbucket的webhook的机密部分添加了secret。秘密是在Azure DevOps服务器中生成的个人访问令牌。 但在创建webhook时,我得到了Bitbucket和Azure DevOps之间的集成,azure,azure-devops,continuous-integration,bitbucket,webhooks,Azure,Azure Devops,Continuous Integration,Bitbucket,Webhooks,我的要求是我想将我的Bitbucket repo与Azure DevOps CI服务器集成,以便在我推送Bitbucket repo中的代码时,我的管道应该在Azure DevOps CI服务器中触发,因为我已经在Bitbucket repo中创建了一个webhook 我已经在URL部分添加了Azure DevOps CI服务器URL,并在Bitbucket的webhook的机密部分添加了secret。秘密是在Azure DevOps服务器中生成的个人访问令牌。 但在创建webhook时,我得到
Resource not available for anonymous access. Client authentication required. - Azure DevOps server
即使我添加了一个秘密,为什么它会给出客户端身份验证所需的错误?原因可能是什么
另外,关于Bitbucket repo和Azure DevOps CI服务器之间集成的文档很少
更新:我已经按照Vito Liu MSFT在回答中的建议在触发器选项卡上启用了持续集成,但当我将代码推送到bitbucket中的feature/POC分支时,我的管道仍然没有自动触发
Yml文件如下
resources:
repositories:
- repository: myRepo
type: externalgit
name: 'myRepo'
endpoint: myrepo
ref: feature/POC
trigger:
- feature/POC
我在我的管道应该在Azure DevOps CI服务器中触发的bitbucket repo中推送代码
我们可以在Azure DevOps中创建服务连接,在Azure DevOps中创建管道并选择Bitbucket云作为源,然后在触发器
选项卡上选择启用持续集成
。我们可以参考此了解更多详细信息
更新1
是的,如果我们在触发器选项卡上启用持续集成,则Bitbucket中不需要Webhook。我已经分享了我的测试结果,你可以查看下面的图片
更新2
根据图片,似乎您正在使用Azure Repos Git作为源,而不是Bitbucket Cloud,请注意源图标
更新3
在Azure DevOps中创建yaml管道,我们需要选择Bitbucket云作为代码资源
然后选择Bitbucket repository,它会将yaml文件保存在Bitbucket Repo中而不是Azure DevOps Repo中,然后我们可以配置CI触发器
我使用默认的yaml模板进行测试
注意:我们需要更新字段触发器,Azure DevOps已将默认分支更新为main,而不是master
注意:如果yml文件保存在Azure DevOps repo中,那么如果我们在Bitbucket repo中推送代码,它将不会触发构建
结果:
我最终通过替换{}大括号中的值从下面的URL创建了webhook。现在我在webhook上得到了200条回复
https://{hostName}/{collectionName}/_apis/public/pipelines/webhooks/{projectName}/{buildDefinitionId}/{repositoryKey}?api-version=6.0-preview.1
如果我们在“触发器”选项卡上启用持续集成,则不需要Webhook?是的,您可以检查更新1,然后在此处共享结果。我已按照您建议的过程进行操作,但我的管道仍不会自动触发。您可以检查我编辑的答案。发布答案