Skip to content

[开发] release修改 #25

[开发] release修改

[开发] release修改 #25

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: Show Java and Maven versions
run: |
java -version
mvn -v
- name: Probe s01 with token (no secrets printed)
run: |
code=$(curl -s -o /dev/null -w "%{http_code}" -u "${OSSRH_TOKEN_USERNAME}:${OSSRH_TOKEN_PASSWORD}" "https://s01.oss.sonatype.org/service/local/status")
echo "status_code=$code"
env:
OSSRH_TOKEN_USERNAME: ${{ secrets.OSSRH_TOKEN_USERNAME }}
OSSRH_TOKEN_PASSWORD: ${{ secrets.OSSRH_TOKEN_PASSWORD }}
- name: Deploy (skip tests and gpg signing for now)
run: |
mvn -X -B -U \
-DskipTests=true \
-Dgpg.skip=true \
clean deploy
# 如果你的 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