Create novel-plus Maven Release with ZIPs #36
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Create novel-plus Maven Release with ZIPs | |
| on: | |
| push: | |
| # 匹配所有以'v'开头的标签 | |
| tags: | |
| - 'v*' | |
| jobs: | |
| build-and-release: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v3 | |
| - name: Set up JDK 21 | |
| uses: actions/setup-java@v3 | |
| with: | |
| java-version: '21' | |
| # 可选,默认是 temurin,也可以选择其他发行版 | |
| distribution: 'temurin' | |
| - name: Build project with Maven | |
| run: mvn clean install -DskipTests=true -Pcentral-repo | |
| - name: Create Release | |
| id: create_release | |
| uses: actions/create-release@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GH_PAT }} | |
| with: | |
| # 使用 tag_name 而不是 github.ref | |
| tag_name: ${{ github.ref_name }} | |
| release_name: novel-plus ${{ github.ref_name }} | |
| draft: false | |
| prerelease: false | |
| # 使用 action 来替代直接 curl 进行上传 | |
| - name: Upload sql.zip | |
| uses: actions/upload-release-asset@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GH_PAT }} | |
| with: | |
| upload_url: ${{ steps.create_release.outputs.upload_url }} | |
| asset_path: ${{ github.workspace }}/novel-common/target/build/sql.zip | |
| asset_name: sql.zip | |
| asset_content_type: application/zip | |
| - name: Upload novel-crawl.zip | |
| uses: actions/upload-release-asset@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GH_PAT }} | |
| with: | |
| upload_url: ${{ steps.create_release.outputs.upload_url }} | |
| asset_path: ${{ github.workspace }}/novel-crawl/target/build/novel-crawl.zip | |
| asset_name: novel-crawl.zip | |
| asset_content_type: application/zip | |
| - name: Upload novel-front.zip | |
| uses: actions/upload-release-asset@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GH_PAT }} | |
| with: | |
| upload_url: ${{ steps.create_release.outputs.upload_url }} | |
| asset_path: ${{ github.workspace }}/novel-front/target/build/novel-front.zip | |
| asset_name: novel-front.zip | |
| asset_content_type: application/zip | |
| - name: Upload novel-admin.zip | |
| uses: actions/upload-release-asset@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GH_PAT }} | |
| with: | |
| upload_url: ${{ steps.create_release.outputs.upload_url }} | |
| asset_path: ${{ github.workspace }}/novel-admin/target/build/novel-admin.zip | |
| asset_name: novel-admin.zip | |
| asset_content_type: application/zip | |
| # 登录 Docker Hub | |
| - name: Login to Docker Hub | |
| uses: docker/login-action@v3 | |
| with: | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| # 构建并推送 novel-front 镜像 | |
| - name: Build and Push novel-front Docker Image | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: ./novel-front/target/build | |
| file: ./novel-front/target/build/Dockerfile | |
| push: true | |
| tags: | | |
| ${{ secrets.DOCKERHUB_USERNAME }}/novel-front:latest | |
| ${{ secrets.DOCKERHUB_USERNAME }}/novel-front:${{ github.ref_name }} | |
| # 构建并推送 novel-admin 镜像 | |
| - name: Build and Push novel-admin Docker Image | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: ./novel-admin/target/build | |
| file: ./novel-admin/target/build/Dockerfile | |
| push: true | |
| tags: | | |
| ${{ secrets.DOCKERHUB_USERNAME }}/novel-admin:latest | |
| ${{ secrets.DOCKERHUB_USERNAME }}/novel-admin:${{ github.ref_name }} | |
| # 构建并推送 novel-crawl 镜像 | |
| - name: Build and Push novel-crawl Docker Image | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: ./novel-crawl/target/build | |
| file: ./novel-crawl/target/build/Dockerfile | |
| push: true | |
| tags: | | |
| ${{ secrets.DOCKERHUB_USERNAME }}/novel-crawl:latest | |
| ${{ secrets.DOCKERHUB_USERNAME }}/novel-crawl:${{ github.ref_name }} | |
| # 解压 SQL 文件 | |
| - name: Unzip MySQL SQL File | |
| run: | | |
| unzip -o ./doc/sql/novel_plus_data.sql.zip -d ./doc/sql/ | |
| # 构建并推送 mysql-novel-plus 镜像 | |
| - name: Build and Push mysql-novel-plus Docker Image | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: ./doc/sql | |
| file: ./doc/sql/Dockerfile | |
| push: true | |
| tags: | | |
| 201206030/mysql-novel-plus:latest | |
| 201206030/mysql-novel-plus:${{ github.ref_name }} |