Skip to content

[开发] release修改 #29

[开发] release修改

[开发] release修改 #29

Workflow file for this run

name: Release to Maven Central (JDK 11)
on:
workflow_dispatch:
push:
tags:
- 'v*' # 推送以 v 开头的 tag 触发,比如 v1.0.0
jobs:
deploy:
runs-on: ubuntu-latest
env:
MAVEN_OPTS: "-Xmx1g"
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Temurin JDK 11
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '11'
cache: 'maven'
- name: Set up Maven 3.9.8
uses: stCarolas/setup-maven@v4
with:
maven-version: '3.9.8'
- name: Prepare Maven settings.xml with OSSRH token
run: |
mkdir -p ~/.m2
cat > ~/.m2/settings.xml << 'EOF'
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>ossrh</id>
<username>${env.OSSRH_TOKEN_USERNAME}</username>
<password>${env.OSSRH_TOKEN_PASSWORD}</password>
</server>
</servers>
</settings>
EOF
env:
OSSRH_TOKEN_USERNAME: ${{ secrets.OSSRH_TOKEN_USERNAME }}
OSSRH_TOKEN_PASSWORD: ${{ secrets.OSSRH_TOKEN_PASSWORD }}
- name: Import GPG key
uses: crazy-max/ghaction-import-gpg@v6
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.GPG_PASSPHRASE }}
trust_level: 5
- name: Show Java and Maven versions
run: |
java -version
mvn -v
- name: Deploy to Central Portal
run: |
export GPG_TTY=$(tty)
mvn -X -B -U \
-DskipTests=true \
-Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }} \
-Dgpg.pinentry-mode=loopback \
clean deploy
env:
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
# 如果你的 POM 未配置 distributionManagement,或想强制直传,可用下面这个步骤替代上面的 Deploy:
# - name: Deploy via altDeploymentRepository
# run: |
# mvn -X -B -U \
# -DskipTests=true \
# -Dgpg.skip=true \
# -DaltDeploymentRepository="ossrh::default::https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/" \
# clean deploy