如何在Pull Request合并后触发TeamCity构建以清理分支输出?
Bitbucket Server 支持PR合并后清理分支输出的方案
Bitbucket Server完全支持实现你要的需求,具体可以通过以下方式搭建:
配置触发事件
在项目的Webhook设置中,勾选Pull Request Merged事件,将通知发送给你的构建服务(比如Jenkins、Bamboo)。这样每当PR合并到主分支时,就能自动触发清理构建任务。编写清理逻辑
在构建任务里添加清理步骤,根据合并PR对应的源分支名,定位到网络存储中的对应输出目录执行删除。举个脚本示例(假设分支名通过构建变量BITBUCKET_BRANCH获取):rm -rf /your-test-output-path/${BITBUCKET_BRANCH}不同构建工具的分支变量名略有差异,比如Bamboo用
bamboo.repository.branch.name,Jenkins可以通过Bitbucket插件直接获取PR源分支信息,按需调整即可。权限与校验
确保执行清理的构建服务账号拥有目标存储位置的删除权限。如果担心误删,可以加一步校验:通过Bitbucket Server的API确认当前触发的PR确实已合并到主分支,不过如果是直接通过PR合并事件触发的任务,这一步可以简化。
如果你的Bitbucket Server版本支持自带的Pipeline功能,也可以直接在bitbucket-pipelines.yml里定义专属管道,触发条件设为pull-requests:merged,然后在步骤中执行清理脚本,无需额外依赖外部构建服务。
内容的提问来源于stack exchange,提问作者Cody Harness
相关产品推荐
相关产品推荐

