开发多个Bitbucket插件时复用Bitbucket实例的方法
绝对可以共享Bitbucket Server实例,不用每次运行atlas-run都重新下载完整应用!我自己开发插件的时候也烦这个重复耗时的问题,折腾出几个靠谱的方案,给你详细说说:
1. 利用Maven缓存自动共享(最简单)
Atlas工具基于Maven,默认会把下载的Bitbucket Server安装包存在本地Maven仓库里,路径在Mac上是:
~/.m2/repository/com/atlassian/bitbucket/bitbucket-server
只要你所有插件项目的pom.xml里指定的Bitbucket Server版本完全一致,atlas-run就会自动复用这个缓存里的安装包,不会重复下载。
操作要点:检查每个插件项目的pom.xml,确保<properties>里的bitbucket.version值相同,比如:
<properties> <bitbucket.version>8.14.0</bitbucket.version> <!-- 其他版本配置... --> </properties>
2. 手动指定本地实例包路径(更灵活)
如果你已经有下载好的Bitbucket Server压缩包(比如bitbucket-server-8.14.0.zip),可以直接告诉atlas用这个本地文件,不用再从网络下载。
方式一:命令行参数
运行atlas-run时加上--product-dist参数:
atlas-run --product-dist /Users/yourname/Downloads/bitbucket-server-8.14.0.zip
方式二:项目pom.xml配置(一劳永逸)
在插件项目的pom.xml里找到atlas-maven-plugin的配置,添加<productDist>指定本地包路径:
<build> <plugins> <plugin> <groupId>com.atlassian.maven.plugins</groupId> <artifactId>bitbucket-maven-plugin</artifactId> <version>${amps.version}</version> <configuration> <!-- 其他配置... --> <productDist>/Users/yourname/Downloads/bitbucket-server-8.14.0.zip</productDist> </configuration> </plugin> </plugins> </build>
3. 共享初始化好的Home目录(节省初始化时间)
除了应用包,每次atlas-run还要初始化数据库、配置文件等,这也挺费时间。你可以预先创建一个共享的Home目录,之后每次运行都复用它:
步骤1:预先创建共享Home
先运行一次atlas-run让它初始化好Home,然后把这个Home目录复制到一个固定路径,比如~/atlassian-shared/bitbucket-home。
步骤2:运行时指定共享Home
之后运行atlas-run时加上--home-dir参数:
atlas-run --home-dir ~/atlassian-shared/bitbucket-home
注意:多个项目同时运行时不要共用同一个Home目录,会导致数据冲突,建议一次只启动一个插件项目;如果需要不同的配置,可以复制多份Home目录分别使用。
额外提醒
- 不同版本的Bitbucket Server实例不能混用,否则会出现兼容性问题,切换版本时记得清理对应缓存或者指定新的实例包路径。
- 如果缓存里的实例包损坏了,可以删除
~/.m2/repository/com/atlassian/bitbucket/bitbucket-server下对应版本的目录,重新运行atlas-run即可重新下载。
内容的提问来源于stack exchange,提问作者Evan M.

