Skip to main content

Deploying Joplin apps and scripts

Various scripts are provided to deploy the Joplin applications, scripts and tools.

Setting up version numbers​

Before new releases are created, all version numbers must be updated. This is done using the setupNewRelease script and passing it the new major.minor version number. For example:

yarn setupNewRelease 1.8

Patch numbers are going to be incremented automatically when releasing each individual package.

Desktop application​

The desktop application is built for Windows, macOS and Linux via continuous integration, by pushing a version tag to GitHub. The process is automated using:

yarn releaseDesktop

Android application​

The app is built and uploaded to GitHub using:

yarn releaseAndroid --type=prerelease

The "type" parameter can be either "release" or "prerelease"

iOS application​

It must be built and released manually using XCode.

CLI application​

Unlike the mobile or desktop application, the CLI app doesn't bundle its dependencies and is always installed from source. For that reason, all its @joplin dependencies must be deployed publicly first. This is done using:

yarn publishAll

This is going to publish all the Joplin libraries, such as @joplin/lib, @joplin/tools, etc.

Then in app-cli/package.json, all @joplin dependencies and devdependencies must be set to the last major/minor version. For example:

"dependencies": {
"@joplin/lib": "1.8",
"@joplin/renderer": "1.8",
"...": "..."
},
"devDependencies": {
"@joplin/tools": "1.8",
"...": "..."
}

Finally, to release the actual app, run:

yarn releaseCli

Joplin Server​

Run:

yarn releaseServer

Web clipper​

Run:

yarn releaseClipper

Plugin generator​

First the types should generally be updated, using ./updateTypes.sh. Then run:

yarn releasePluginGenerator

Plugin Repo Cli​

This tool is packaged using Webpack so it can be released with a single command:

yarn releasePluginRepoCli