一些检查失败了
automerge / automerge (push) Has been cancelled
react-native-android-build-apk / AssembleRelease (push) Has been cancelled
Build macOS M1 / Main (push) Has been cancelled
Joplin Continuous Integration / Main (macos-15-intel) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-11-vs2026-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-2025) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04-arm) (push) Has been cancelled
Joplin UI tests / Main (ubuntu-22.04) (push) Has been cancelled
Joplin UI tests / Main (windows-2025) (push) Has been cancelled
Joplin UI tests / Mobile (push) Has been cancelled
Close stale issues / ProcessStaleIssues (push) Has been cancelled
80 行
1.9 KiB
Markdown
80 行
1.9 KiB
Markdown
# 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:
|
|
|
|
```json
|
|
"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
|