chore: github workflows

This commit is contained in:
tjq 2024-12-07 20:36:16 +08:00
parent fdd80f6cf9
commit aefa9290c9
5 changed files with 119 additions and 78 deletions

View File

@ -1,40 +0,0 @@
name: Docker Image CI
on:
push:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build the Docker image
run: mvn clean package -Pdev -DskipTests -U -e && /bin/cp -rf powerjob-server/powerjob-server-starter/target/*.jar powerjob-server/docker/powerjob-server.jar && /bin/cp -rf powerjob-worker-agent/target/*.jar powerjob-worker-agent/powerjob-agent.jar && /bin/cp -rf powerjob-worker-samples/target/*.jar powerjob-worker-samples/powerjob-worker-samples.jar
- uses: docker/build-push-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: tjqq/powerjob-server
tag_with_ref: true
tags: latest
path: powerjob-server/docker/
- uses: docker/build-push-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: tjqq/powerjob-agent
tag_with_ref: true
tags: latest
path: powerjob-worker-agent/
- uses: docker/build-push-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: tjqq/powerjob-worker-samples
tag_with_ref: true
tags: latest
path: powerjob-worker-samples/

69
.github/workflows/docker_publish.yml vendored Normal file
View File

@ -0,0 +1,69 @@
name: build_docker
on:
push:
branches: [master]
tags:
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
jobs:
build_docker:
name: Build docker
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build Maven Project
uses: actions/setup-java@v4
with:
java-version: '8'
distribution: 'temurin'
- name: Publish package
run: mvn clean package -Pdev -DskipTests -U -e && /bin/cp -rf powerjob-server/powerjob-server-starter/target/*.jar powerjob-server/docker/powerjob-server.jar && /bin/cp -rf powerjob-worker-agent/target/*.jar powerjob-worker-agent/powerjob-agent.jar && /bin/cp -rf powerjob-worker-samples/target/*.jar powerjob-worker-samples/powerjob-worker-samples.jar
# Login
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build And Push [powerjob-server]
uses: docker/build-push-action@v6
with:
context: powerjob-server/docker/
push: true
platforms: linux/amd64,linux/arm64
tags: |
tjqq/powerjob-server:latest
powerjob/powerjob-server:latest
tjqq/powerjob-server:${{ env.GITHUB_REF_NAME }}
powerjob/powerjob-server:${{ env.GITHUB_REF_NAME }}
- name: Build And Push [powerjob-agent]
uses: docker/build-push-action@v6
with:
context: powerjob-worker-agent/
push: true
platforms: linux/amd64,linux/arm64
tags: |
tjqq/powerjob-agent:latest
powerjob/powerjob-agent:latest
tjqq/powerjob-agent:${{ env.GITHUB_REF_NAME }}
powerjob/powerjob-agent:${{ env.GITHUB_REF_NAME }}
- name: Build And Push [powerjob-worker-samples]
uses: docker/build-push-action@v6
with:
context: powerjob-worker-samples/
push: true
platforms: linux/amd64,linux/arm64
tags: |
tjqq/powerjob-worker-samples:latest
powerjob/powerjob-worker-samples:latest
tjqq/powerjob-worker-samples:${{ env.GITHUB_REF_NAME }}
powerjob/powerjob-worker-samples:${{ env.GITHUB_REF_NAME }}

View File

@ -1,38 +0,0 @@
# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
name: Java CI with Maven
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Maven
run: mvn -B clean package -Pdev -DskipTests --file pom.xml
- name: upload build result
run: mkdir staging && cp powerjob-server/powerjob-server-starter/target/*.jar staging/powerjob-server.jar && cp powerjob-client/target/*.jar staging/powerjob-client.jar && cp powerjob-worker-agent/target/*.jar staging/powerjob-agent.jar
- uses: actions/upload-artifact@v1
with:
name: powerjob-server.jar
path: staging/powerjob-server.jar
- uses: actions/upload-artifact@v1
with:
name: powerjob-client.jar
path: staging/powerjob-client.jar
- uses: actions/upload-artifact@v1
with:
name: powerjob-agent.jar
path: staging/powerjob-agent.jar

28
.github/workflows/maven_build.yml vendored Normal file
View File

@ -0,0 +1,28 @@
# This workflow will build a Java project with Maven
# For more information see: https://docs.github.com/zh/actions/use-cases-and-examples/building-and-testing/building-and-testing-java-with-maven
name: Java CI with Maven
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
java-version: '8'
distribution: 'temurin'
- run: mvn -B clean package -Pdev -DskipTests --file pom.xml
- run: mkdir staging && cp powerjob-server/powerjob-server-starter/target/*.jar staging/powerjob-server.jar && cp powerjob-client/target/*.jar staging/powerjob-client.jar && cp powerjob-worker-agent/target/*.jar staging/powerjob-agent.jar && cp powerjob-worker-spring-boot-starter/target/*.jar staging/powerjob-worker-spring-boot-starter.jar
- uses: actions/upload-artifact@v4
with:
name: Package
path: staging

22
.github/workflows/maven_publish.yml vendored Normal file
View File

@ -0,0 +1,22 @@
name: Publish package to the Maven Central Repository
on:
release:
types: [created]
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Maven Central Repository
uses: actions/setup-java@v4
with:
java-version: '8'
distribution: 'temurin'
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
- name: Publish package
run: mvn --batch-mode clean deploy -pl powerjob-worker,powerjob-client,powerjob-worker-spring-boot-starter,powerjob-official-processors,powerjob-worker-agent -DskipTests -Prelease -am
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}