利用GithubAction实现Tornadofx/JavaFx打包

博客 分享
0 196
优雅殿下
优雅殿下 2022-06-09 21:00:18
悬赏:0 积分 收藏

利用Github Action实现Tornadofx/JavaFx打包

原文地址: 利用Github Action实现Tornadofx/JavaFx打包 - Stars-One的杂货小窝

最近开了个新项目,主要是个工具软件,也算个人的自娱自乐吧,也算开源的一部分,想着都开源了,顺便上个自动化打包吧

得知github action可以自动完成打包的操作,于是便是来研究了下

注意:本文所研究都是基于JavaFx是JDK8中内置的,不适用了之后的FX版本,仅供参考

本文实现了每次推送一个新的tag到github上,就会触发github action的自动打包,并发布一个release

步骤

1.创建github项目并推送代码

这步应该没有什么好讲的,都是常规操作了

2.创建action脚本

点击github项目的action菜单,按照提示新建一个action,选择某项,点击configure

之后会进入到action的编辑菜单,实际上,默认配置的并不符合我们的需要的情况,我们需要对action进行改造

这里我也是折腾了十几次,最终才成功了,附上成功的action配置

# This workflow will build a package using Maven and then publish it to GitHub packages when a release is created# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#apache-maven-with-a-settings-pathname: Maven Packageon:  # 监听push tag事件,且匹配tag是v开头的    push:    tags:    - 'v*'jobs:  build:    runs-on: ubuntu-latest    permissions: write-all    steps:    - uses: actions/checkout@v3    - name: Set up JDK 8      # 安装jdk8环境(且要含有javafx)      uses: actions/setup-java@v1      with:        java-version: '1.8'        java-package: 'jdk+fx'            - name: Build with Maven      # 执行打包的mvn命令       run: mvn -B compile assembly:single --file pom.xml    # 移动打包文件    - run: mkdir staging && cp target/*.jar staging    - name: Set Release version env variable      run: |        echo "RELEASE_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV    - name: "Build & test"      run: |        echo "done!"    # 创建一个release,并将打包后的文件上传到附件        - name: Automatic Releases      # You may pin to the exact commit or the version.      # uses: marvinpinto/action-automatic-releases@919008cf3f741b179569b7a6fb4d8860689ab7f0      uses: marvinpinto/action-automatic-releases@latest      with:        # GitHub secret token        repo_token: "${{ secrets.GITHUB_TOKEN }}"        automatic_release_tag: "${{ env.RELEASE_VERSION }}"        prerelease: false        title: "Release ${{ env.RELEASE_VERSION }}"        # Assets to upload to the release        files: |          staging/*.jar

3.推送一个新的tag

之后当想发布版本的时候,使用git创建一个tag,并推送到远程分支上,即会触发如下:

git tag v1.0git push origin v1.0

参考

  • Github: 使用 Github Action CI/CD Maven 自动化打包 JAR 发布 Release_Ayou10031的博客-CSDN博客_github如何发布release
  • maven-assembly-plugin插件的使用方法__少爷威威#的博客-CSDN博客_maven-assembly-plugin使用
  • 使用maven-assembly-plugin制作可执行jar包-云+社区-腾讯云
posted @ 2022-06-09 20:50 Stars-one 阅读(0) 评论(0) 编辑 收藏 举报
回帖
    优雅殿下

    优雅殿下 (王者 段位)

    2018 积分 (2)粉丝 (47)源码

    小小码农,大大世界

     

    温馨提示

    亦奇源码

    最新会员