Skip to content

Latest commit

 

History

History
77 lines (44 loc) · 1.96 KB

DEPLOY.md

File metadata and controls

77 lines (44 loc) · 1.96 KB

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:

npm run 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:

npm run releaseDesktop

Android application

The app is built and upload to GitHub using:

npm run 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:

npm run 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:

npm run releaseCli

Joplin Server

Run:

npm run releaseServer

Web clipper

Run:

npm run releaseClipper

Plugin generator

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

npm run releasePluginGenerator

Plugin Repo Cli

Since it has dependencies to the @joplin packages, it is released when running npm run publishAll