mirror of
https://github.com/yanlongqi/jhinno-openapi-java-sdk.git
synced 2026-03-22 06:15:10 +08:00
feat(流水线): github的流水线配置
This commit is contained in:
86
.github/workflows/release.yml
vendored
86
.github/workflows/release.yml
vendored
@@ -1,33 +1,21 @@
|
|||||||
name: 发布到 Maven Central
|
name: Maven Central Repo Deployment
|
||||||
|
|
||||||
on:
|
on:
|
||||||
release:
|
release:
|
||||||
types: [created]
|
types: [released]
|
||||||
# 可选:也可以手动触发
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
publish:
|
publish:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: 检出代码
|
- name: Checkout Git Repo
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v2
|
||||||
|
- name: Configure GPG Key
|
||||||
- name: 设置 JDK 1.8
|
|
||||||
uses: actions/setup-java@v3
|
|
||||||
with:
|
|
||||||
java-version: '8'
|
|
||||||
distribution: 'temurin'
|
|
||||||
cache: 'maven'
|
|
||||||
|
|
||||||
- name: 配置 GPG 密钥
|
|
||||||
run: |
|
run: |
|
||||||
# 导入 GPG 密钥
|
# Setup GPG
|
||||||
echo "${{ secrets.GPG_SECRET }}" | base64 --decode > private.key
|
echo "${{ secrets.GPG_SECRET }}" | base64 --decode > private.key
|
||||||
gpg --batch --import private.key
|
gpg --batch --import private.key
|
||||||
rm private.key
|
rm private.key
|
||||||
|
|
||||||
# 配置 GPG 为非交互模式
|
# Configure GPG for non-interactive use
|
||||||
mkdir -p ~/.gnupg/
|
mkdir -p ~/.gnupg/
|
||||||
echo "use-agent" > ~/.gnupg/gpg.conf
|
echo "use-agent" > ~/.gnupg/gpg.conf
|
||||||
echo "pinentry-mode loopback" >> ~/.gnupg/gpg.conf
|
echo "pinentry-mode loopback" >> ~/.gnupg/gpg.conf
|
||||||
@@ -35,48 +23,18 @@ jobs:
|
|||||||
chmod 700 ~/.gnupg
|
chmod 700 ~/.gnupg
|
||||||
chmod 600 ~/.gnupg/*
|
chmod 600 ~/.gnupg/*
|
||||||
gpg-connect-agent reloadagent /bye
|
gpg-connect-agent reloadagent /bye
|
||||||
|
- name: Set up Maven Central Repo
|
||||||
- name: 创建 Maven 设置文件
|
uses: actions/setup-java@v1
|
||||||
run: |
|
with:
|
||||||
cat > settings.xml << EOF
|
java-version: 1.8
|
||||||
<settings>
|
server-id: sonatype-nexus-staging
|
||||||
<servers>
|
server-username: ${{ secrets.OSSRH_USER }}
|
||||||
<server>
|
server-password: ${{ secrets.OSSRH_PASSWORD }}
|
||||||
<id>ossrh</id>
|
gpg-passphrase: ${{ secrets.GPG_PASSWORD }}
|
||||||
<username>${{ secrets.OSSRH_USER }}</username>
|
- name: Publish to Maven Central Repo
|
||||||
<password>${{ secrets.OSSRH_PASSWORD }}</password>
|
uses: samuelmeuli/action-maven-publish@v1
|
||||||
</server>
|
with:
|
||||||
<!-- 备用服务器 ID,以防某些插件使用不同的 ID -->
|
gpg_private_key: ${{ secrets.GPG_SECRET }}
|
||||||
<server>
|
gpg_passphrase: ${{ secrets.GPG_PASSWORD }}
|
||||||
<id>central</id>
|
nexus_username: ${{ secrets.OSSRH_USER }}
|
||||||
<username>${{ secrets.OSSRH_USER }}</username>
|
nexus_password: ${{ secrets.OSSRH_PASSWORD }}
|
||||||
<password>${{ secrets.OSSRH_PASSWORD }}</password>
|
|
||||||
</server>
|
|
||||||
<server>
|
|
||||||
<id>sonatype-nexus-staging</id>
|
|
||||||
<username>${{ secrets.OSSRH_USER }}</username>
|
|
||||||
<password>${{ secrets.OSSRH_PASSWORD }}</password>
|
|
||||||
</server>
|
|
||||||
</servers>
|
|
||||||
<profiles>
|
|
||||||
<profile>
|
|
||||||
<id>ossrh</id>
|
|
||||||
<activation>
|
|
||||||
<activeByDefault>true</activeByDefault>
|
|
||||||
</activation>
|
|
||||||
<properties>
|
|
||||||
<gpg.executable>gpg</gpg.executable>
|
|
||||||
<gpg.passphrase>${{ secrets.GPG_PASSWORD }}</gpg.passphrase>
|
|
||||||
</properties>
|
|
||||||
</profile>
|
|
||||||
</profiles>
|
|
||||||
</settings>
|
|
||||||
EOF
|
|
||||||
|
|
||||||
- name: 构建并发布到 Maven Central
|
|
||||||
run: |
|
|
||||||
mvn clean deploy \
|
|
||||||
--batch-mode \
|
|
||||||
--settings settings.xml \
|
|
||||||
-Dgpg.passphrase="${{ secrets.GPG_PASSWORD }}" \
|
|
||||||
-DskipTests=true
|
|
||||||
Reference in New Issue
Block a user