# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven# This workflow uses actions that are not certified by GitHub.# They are provided by a third-party and are governed by# separate terms of service, privacy policy, and support# documentation.name:Build, Package, and Release Java Projecton:push:tags:- 'v*'# Push events to matching v*, i.e. v1.0, v20.15.10# 在push或者pull_request时触发# on:# push:# branches: [ "master" ]# pull_request:# branches: [ "master" ]jobs:build:runs-on:ubuntu-lateststeps:- uses:actions/checkout@v4- name:Set up JDK 8uses:actions/setup-java@v3with:java-version:'8'distribution:'temurin'cache:maven# 构建jar包- name:Build with Mavenrun:mvn package -DskipTests- run:mkdir staging && cp target/*.jar staging# 上传打包后内容到artifact- name:Upload JAR artifactuses:actions/upload-artifact@v4with:name:${{ github.ref_name }}path:stagingretention-days:1# 设置保留 artifact 天数# 创建release- name:Create GitHub Releaseid:create_releaseuses:actions/create-release@v1env:GITHUB_TOKEN:${{ secrets.GITHUB_TOKEN }}with:tag_name:${{ github.ref }}release_name:Release-${{ github.ref }}draft:falseprerelease:false# 将软件包打成zip压缩包- run:zip ${{ github.ref_name }}.zip staging/*# 将zip压缩包上传至release- name:Upload JAR to Releaseuses:actions/upload-release-asset@v1env:GITHUB_TOKEN:${{ secrets.GITHUB_TOKEN }}with:upload_url:${{ steps.create_release.outputs.upload_url }}asset_path:${{ github.ref_name }}.zipasset_name:${{ github.ref_name }}.zipasset_content_type:application/zip
期间,遇到了 Resource not accessible by integration 这个错误,是因为 Actions 没有写权限导致的,按照下图进行授权即可。