如何使用Gradle将构件发布到Bitbucket托管的Maven仓库?
适配Bitbucket v2规则的Gradle构件发布方法
当前遇到的实际问题
- 能搜到的相关参考内容大多是5年前的旧规则,和现在Bitbucket的接口版本对不上。
- 原本打算用wagon-git插件实现Git仓库方向的发布功能,但这个插件已经停止适配,不支持Bitbucket v2版本的接口,直接用会报鉴权错误、接口调用失败。
可直接落地的实现方案
- 对接Bitbucket原生制品仓库的实现:不需要依赖停更的wagon-git插件,直接用Gradle自带的
maven-publish插件配置发布逻辑。配置时把Bitbucket项目对应的Maven仓库端点设为发布目标,用拥有仓库读写权限的应用密码完成鉴权,整个流程完全适配Bitbucket v2的接口规则。 - 基于Git静态托管仓库的适配调整:如果是用普通Git分支当静态Maven仓库托管,不用直接弃用wagon-git插件,可以调整运行参数——关掉插件内置的旧版Bitbucket API调用逻辑,只保留基础的Git拉取、构件写入、提交推送能力,把远程仓库地址换成标准的HTTPS/SSH格式的Bitbucket仓库地址,用Git本身的凭证完成推送,绕开插件对旧版Bitbucket接口的硬绑定。
实操避坑提醒
- Bitbucket现在已经不支持直接用账号密码做接口鉴权,不管哪种发布方式,都要提前在账号下创建对应权限的应用密码,否则会出现
401鉴权失败。 - 发布前要先在Bitbucket侧建好对应类型的Maven仓库,确认仓库的版本策略(快照版/正式版)和Gradle侧配置的构件版本匹配,避免出现版本不匹配的上传拦截。
内容的提问来源于stack exchange,提问作者Flying Swissman
相关产品推荐
相关产品推荐

