Version v0.25 of Metabase is no longer supported. Check out the docs for the current stable version, Metabase v0.63.
NOTE: These instructions are only for packaging a built Metabase uberjar into Metabase.app. They are not useful if your goal is to work on Metabase itself; for development, please see our developers’ guide.
Install XCode.
Install XCode command-line tools. In Xcode > Preferences > Locations select your current Xcode version in the Command Line Tools drop-down.
Run ./bin/build to build the latest version of the uberjar.
Next, you’ll need to run the following commands before building the app:
# Fetch and initialize git submodule
git submodule update --init
# Install Perl modules used by ./bin/osx-setup and ./bin/osx-release
sudo cpan install File::Copy::Recursive Readonly String::Util Text::Caml JSON
# Copy JRE and uberjar
./bin/osx-setup
./bin/osx-setup will build run commands to build the uberjar for you if needed.
Run ./bin/osx-setup again at any time in the future to copy the latest version of the uberjar into the project.
(If the script fails near the end, you can just copy the JARs in question to OSX/Resources/metabase.jar and OSX/Resources/reset-password.jar.)
A handy Perl script called ./bin/osx-release takes care of all of the details for you. Before you run it for the first time, you’ll need to set up a few additional things:
# Install aws command-line client (if needed)
brew install awscli
# Configure AWS Credentials
# You'll need credentials that give you permission to write the metabase-osx-releases S3 bucket.
# You just need the access key ID and secret key; use the defaults for locale and other options.
aws configure --profile metabase
# Obtain a copy of the private key used for signing the app (ask Cam)
# and put a copy of it at ./dsa_priv.pem
cp /path/to/private/key.pem OSX/dsa_priv.pem
You’ll need the Apple Developer ID Application Certificate in your computer’s keychain.
You’ll need to generate a Certificate Signing Request from Keychain Access, and have Sameer go to the Apple Developer Site
and generate one for you, then load the file on your computer.
Finally, you may need to open the project a single time in Xcode to make sure the appropriate “build schemes” are generated (these are not checked into CI).
Run open OSX/Metabase.xcodeproj to open the project, which will automatically generate the appropriate schemes. This only needs to be done once.
After that, you are good to go:
# Bundle entire app, and upload to s3
./bin/osx-release
./bin/osx-release create_dmg upload.
The entire sequence of different steps can be found at the bottom of ./bin/osx-release../bin/osx-release create_dmg upload.