Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shannah/jdeploy
Developer friendly desktop deployment tool
https://github.com/shannah/jdeploy
deployment desktop-app java javafx javafx-desktop-apps
Last synced: 3 days ago
JSON representation
Developer friendly desktop deployment tool
- Host: GitHub
- URL: https://github.com/shannah/jdeploy
- Owner: shannah
- License: apache-2.0
- Created: 2016-12-18T07:52:56.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2024-10-27T16:27:53.000Z (about 2 months ago)
- Last Synced: 2024-12-13T15:16:45.762Z (10 days ago)
- Topics: deployment, desktop-app, java, javafx, javafx-desktop-apps
- Language: Java
- Homepage: https://www.jdeploy.com
- Size: 345 MB
- Stars: 359
- Watchers: 7
- Forks: 19
- Open Issues: 47
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE
Awesome Lists containing this project
README
# jDeploy
Developer friendly desktop deployment tool. See [the jDeploy Website](https://www.jdeploy.com) for usage instructions.
## GitHub Action Instructions
The jdeploy github action allows you to generate native desktop installers for your Java project in a Github workflow. This action can be run for both commits and releases.
If used on a commit to a branch, it will publish the the app installers to a release named after the branch. E.g. For the "master" branch, it would post installers to a tag named "master". If used on a "tag", it will simply add the installers as artifacts of the release. In both cases it will add some download links to the release notes.
### Example Usage
IMPORTANT: For this action to work, you must first configure your project with jDeploy, as described in [the jDeploy Developer Guide](https://www.jdeploy.com/docs/manual/).
Add the following to your workflow in a step *after* the app has been built.
```yaml
- name: Build App Installer Bundles
uses: actions/jdeploy@master
with:
github_token: ${{ github.token }}
```If this is run on "commit", then it will create or update a release with the same name as the branch. If this is run on a tag or release, it will add the installers as artifacts to the release. In both cases, it appends notes to the release with download links.
[See example release](https://github.com/shannah/jdeploy-javafx-starter/releases/tag/master)
### Example Workflow
```yaml
# This workflow will build a Java project with Maven and bundle them as native app installers with jDeploy
# See https://www.jdeploy.com for more information.name: jDeploy CI with Maven
on:
push:
branches: ['*']
tags: ['*']jobs:
build:runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
cache: maven
- name: Build with Maven
run: mvn -B package --file pom.xml
- name: Build App Installer Bundles
uses: shannah/jdeploy@master
with:
github_token: ${{ github.token }}
```### Example Project
The [jDeploy JavaFX Starter Project](https://github.com/shannah/jdeploy-javafx-starter) is a template repository for a JavaFX application. It comes pre-configured with this workflow to generate both snapshot builds for each branch, and release builds.
### Learn More
See [the jDeploy Developer Guide](https://www.jdeploy.com/docs/manual/#_publishing_on_github) to learn more.
### Supported Parameters
| Parameter | Description | Default |
|---------------------|----------------------------------------------------------------------------------------|---------------------------|
| `github_token` | GitHub Action token, e.g. `"${{ secrets.GITHUB_TOKEN }}"`. | `null` |
| `target_repository` | The repository where releases should be published to, if different than the current repo. | `${{ github.repository }}` |
| `deploy_target` | The deployment target. "github" or "npm" | `github` |
| `npm_token` | The `NPM_TOKEN` for publishing to npm. Only required if `deploy_target`==`npm` | `null` |`
| `jdeploy_version` | The jdeploy version to use for building the installers. | `4.0.0-alpha.38` |## License
[Apache2](LICENSE)
## Contact
[Steve Hannah](http://sjhannah.com)