feat(sj_1.1.0-beta1): github工作流添加maven cache
This commit is contained in:
parent
ac128a9ba5
commit
33e595ca2d
22
.github/workflows/docker-image.yml
vendored
22
.github/workflows/docker-image.yml
vendored
@ -1,30 +1,46 @@
|
|||||||
name: DockerHub - Build & Push
|
name: DockerHub - Build & Push
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- v*
|
- v*
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up JDK 17
|
- name: Set up JDK 17
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
java-version: '17'
|
java-version: '17'
|
||||||
distribution: 'temurin'
|
distribution: 'temurin'
|
||||||
cache: maven
|
cache: maven
|
||||||
|
|
||||||
|
- name: Cache local Maven repository
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: ~/.m2/repository
|
||||||
|
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-maven-
|
||||||
|
|
||||||
- name: Build with Maven
|
- name: Build with Maven
|
||||||
run: mvn -B package --file pom.xml
|
run: mvn -B package --file pom.xml -Dmaven.test.skip=true
|
||||||
|
|
||||||
- name: Get Maven project version
|
- name: Get Maven project version
|
||||||
id: version
|
id: version
|
||||||
run: |
|
run: |
|
||||||
echo "VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)" >> "$GITHUB_OUTPUT"
|
echo "VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)" >> "$GITHUB_OUTPUT"
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
- name: Build and push Docker image
|
- name: Build and push Docker image
|
||||||
env:
|
env:
|
||||||
|
DOCKER_NAMESPACE: ${{ secrets.DOCKER_NAMESPACE }}
|
||||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
||||||
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
|
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
VERSION: ${{ steps.version.outputs.version }}
|
VERSION: ${{ steps.version.outputs.version }}
|
||||||
@ -32,6 +48,6 @@ jobs:
|
|||||||
docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
|
docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
|
||||||
cd snail-job-server/snail-job-server-starter/ \
|
cd snail-job-server/snail-job-server-starter/ \
|
||||||
&& docker buildx build --platform linux/amd64,linux/arm64 \
|
&& docker buildx build --platform linux/amd64,linux/arm64 \
|
||||||
-t opensnail/snail-job:latest \
|
-t ${DOCKER_NAMESPACE}/snail-job:latest \
|
||||||
-t opensnail/snail-job:$VERSION \
|
-t ${DOCKER_NAMESPACE}/snail-job:${VERSION} \
|
||||||
--push .
|
--push .
|
29
.github/workflows/maven-publish.yml
vendored
29
.github/workflows/maven-publish.yml
vendored
@ -1,31 +1,46 @@
|
|||||||
name: Maven - Build & Publish
|
name: Maven - Build & Publish
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- v*
|
- v*
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up JDK 17
|
- name: Set up JDK 17
|
||||||
uses: actions/setup-java@v3
|
uses: actions/setup-java@v3
|
||||||
with:
|
with:
|
||||||
java-version: '17'
|
java-version: '17'
|
||||||
distribution: 'temurin'
|
distribution: 'temurin'
|
||||||
cache: maven
|
cache: maven
|
||||||
|
|
||||||
|
- name: Cache local Maven repository
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: ~/.m2/repository
|
||||||
|
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-maven-
|
||||||
|
|
||||||
- name: Build with Maven
|
- name: Build with Maven
|
||||||
run: mvn -B package --file pom.xml
|
run: mvn -B package --file pom.xml -Dmaven.test.skip=true
|
||||||
|
|
||||||
- name: Set up Apache Maven Central
|
- name: Set up Apache Maven Central
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@v4
|
||||||
with: # running setup-java again overwrites the settings.xml
|
with:
|
||||||
distribution: 'temurin'
|
distribution: 'temurin'
|
||||||
java-version: '17'
|
java-version: '17'
|
||||||
server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml
|
server-id: ossrh
|
||||||
server-username: MAVEN_USERNAME # env variable for username in deploy
|
server-username: MAVEN_USERNAME
|
||||||
server-password: MAVEN_CENTRAL_TOKEN # env variable for token in deploy
|
server-password: MAVEN_CENTRAL_TOKEN
|
||||||
gpg-private-key: ${{ secrets.GPG_SECRET }} # Value of the GPG private key to import
|
gpg-private-key: ${{ secrets.GPG_SECRET }}
|
||||||
gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase
|
gpg-passphrase: MAVEN_GPG_PASSPHRASE
|
||||||
|
|
||||||
- name: Publish to Apache Maven Central
|
- name: Publish to Apache Maven Central
|
||||||
run: mvn deploy -P release -f pom.xml
|
run: mvn deploy -P release -f pom.xml
|
||||||
env:
|
env:
|
||||||
|
Loading…
Reference in New Issue
Block a user