Building Bitbucket Server from Source Code
This guide describes building a Bitbucket Server distribution from the source code. Bitbucket Server source code is available to all commercial license holders.
If you're really sure you want to modify Bitbucket Server's source instead of building a plugin, here are the steps for building Bitbucket Server from source:
Download Java and the Bitbucket Server source
Download and install the Java Development Kit,
Bitbucket Server requires the JDK 1.8 Update 45 release or higher.Download and extract the Bitbucket Server source distribution,
Use your my.atlassian.com account to login (or contact Atlassian's sales department if you do not see the link to download the distribution).
Download the database drivers
Bitbucket Server is built using Maven, which is bundled with the source distribution. During the build, Maven will download the dependencies of Bitbucket Server and store them locally. Two of those dependencies are Oracle's and Microsoft's database drivers, which need to be manually installed for legal reasons. If you do not have those drivers in your local Maven repository, follow these instructions to install them:
- Download the Oracle JDBC driver (you might need to sign up for an Oracle account),
- in the Oracle Database 12c Release 2 (12.2.0.1) JDBC Drivers section, find and download the ojdbc8.jar driver,
- copy the driver in the directory where you extracted the source distribution;
And, in the same directory (containing the source distribution of Bitbucket Server), run the following command:
- on Mac OS X or Linux:
AخA./mvn3.sh install:install-file -DgroupId=com.oracle -DartifactId=ojdbc8 -Dversion=12.2.0.1 -Dpackaging=jar -Dfile=ojdbc8.jar -Dmaven.repo.local="`pwd`/localrepo"
- or, on Windows:
mvn3.bat install:install-file -DgroupId=com.oracle -DartifactId=ojdbc8 -Dversion=12.2.0.1 -Dpackaging=jar -Dfile=ojdbc8.jar -Dmaven.repo.local="%CD%\localrepo"
Next, download the Microsoft JDBC driver:
- if you use Mac OS X or Linux,
- find and download the sqljdbc_4.0.2206.100_enu.tar.gz driver,
- extract the archive to a temporary directory (such as
/tmp/ms-driver
), - and, in the directory containing the source distribution of Bitbucket Server, run the following commands (after replacing the path of the driver's directory by the correct one on the first line):
41export MS_DRIVER_PATH="/tmp/ms-driver"
2./mvn3.sh install:install-file -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc -Dversion=4.0.2206 -Dpackaging=jar -Dfile=$MS_DRIVER_PATH/enu/sqljdbc.jar -Dmaven.repo.local="`pwd`/localrepo"
3./mvn3.sh install:install-file -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc_auth -Dversion=4.0.2206 -Dclassifier=x64 -Dpackaging=dll -Dtype=dll -Dfile=$MS_DRIVER_PATH/enu/auth/x64/sqljdbc_auth.dll -Dmaven.repo.local="`pwd`/localrepo"
4./mvn3.sh install:install-file -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc_auth -Dversion=4.0.2206 -Dclassifier=x86 -Dpackaging=dll -Dtype=dll -Dfile=$MS_DRIVER_PATH/enu/auth/x86/sqljdbc_auth.dll -Dmaven.repo.local="`pwd`/localrepo"
- or if you use Windows,
- find and download the sqljdbc_4.0.2206.100_enu.exe driver,
- double click on the executable to decompress the driver in a temporary directory,
- and, in the directory containing the source distribution of Bitbucket Server, run the following commands (after replacing the path of the driver's directory by the correct one on the first line):
41set MS_DRIVER_PATH=c:\Users\USERNAME\Downloads\Microsoft JDBC Driver 4.0 for SQL Server
2mvn3.bat install:install-file -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc -Dversion=4.0.2206 -Dpackaging=jar -Dfile="%MS_DRIVER_PATH%\sqljdbc_4.0\enu\sqljdbc.jar" -Dmaven.repo.local="%CD%\localrepo"
3mvn3.bat install:install-file -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc_auth -Dversion=4.0.2206 -Dclassifier=x64 -Dpackaging=dll -Dtype=dll -Dfile="%MS_DRIVER_PATH%\sqljdbc_4.0\enu\auth\x64\sqljdbc_auth.dll" -Dmaven.repo.local="%CD%\localrepo"
4mvn3.bat install:install-file -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc_auth -Dversion=4.0.2206 -Dclassifier=x86 -Dpackaging=dll -Dtype=dll -Dfile="%MS_DRIVER_PATH%\sqljdbc_4.0\enu\auth\x86\sqljdbc_auth.dll" -Dmaven.repo.local="%CD%\localrepo"
- if you use Mac OS X or Linux,
Build Bitbucket Server from source
Run the following command in the directory containing the source distribution of Bitbucket Server:
- on Mac OS X or Linux:
./build.sh
- or, on Windows:
build.bat
This will perform a full build of Bitbucket Server. The distribution ZIP will be created in the subdirectory
bitbucket-parent/distribution/default/target
.Then, to develop Bitbucket Server in your IDE:
Alternatively, from the command line:
- in the directory containing the source distribution (after running
build.sh
orbuild.bat
in the step 1), run:
21cd bitbucket-parent/webapp/default
2mvn cargo:run
- then, after each change, re-run
build.sh
orbuild.bat
.
- in the directory containing the source distribution (after running