1- name : Publish package to the Maven Central Repository
1+ name : deploy
2+
23on :
3- push :
4- branches :
5- - master
4+ # 支持手动触发构建
5+ workflow_dispatch :
6+ release :
7+ # 创建release的时候触发
8+ types : [published]
69jobs :
7- publish :
10+ deploy :
811 runs-on : ubuntu-latest
12+
913 steps :
14+ # 拉取源码
1015 - uses : actions/checkout@v2
11- - name : Set up Maven Central Repository
12- uses : actions/setup-java@v2
16+ # 安装JDK环境
17+ - name : Set up JDK 11
18+ uses : actions/setup-java@v1
1319 with :
14- java-version : ' 17'
15- distribution : ' adopt'
16- server-id : ossrh
17- server-username : MAVEN_USERNAME
18- server-password : MAVEN_PASSWORD
19- - id : install-secret-key
20- name : Install gpg secret key
21- run : |
22- cat <(echo -e "${{ secrets.OSSRH_GPG_SECRET_KEY }}") | gpg --batch --import
23- gpg --list-secret-keys --keyid-format LONG
24- - name : Publish package
20+ java-version : 11
21+ # 设置Maven中央仓库配置
22+ - name : Set up Apache Maven Central
23+ uses : actions/setup-java@v1
24+ with :
25+ java-version : 11
26+ server-id : releases
27+ # Nexus用户名环境变量
28+ server-username : OSSRH_USERNAME
29+ # Nexus密码环境变量
30+ server-password : OSSRH_PASSWORD
31+ # gpg短密码环境变量
32+ gpg-passphrase : OSSRH_GPG_SECRET_KEY
33+ # gpg私钥
34+ gpg-private-key : ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}
35+ # 推送jar包至maven中央仓库
36+ - name : Publish to Apache Maven Central
37+ # 执行maven deploy命令
38+ run : mvn clean deploy
39+ # 环境变量设置
2540 env :
41+ # Nexus用户名,如果觉得不想暴露也可以配置到secrets中
2642 MAVEN_USERNAME : ${{ secrets.OSSRH_USERNAME }}
27- MAVEN_PASSWORD : ${{ secrets.OSSRH_PASSWORD }}
28- run : mvn --batch-mode -Dgpg.passphrase=${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} clean deploy
43+ # Nexus密码
44+ MAVEN_CENTRAL_TOKEN : ${{ secrets.OSSRH_PASSWORD }}
45+ # gpg短密码
46+ MAVEN_GPG_PASSPHRASE : ${{ secrets.OSSRH_GPG_SECRET_KEY }}
47+ # Nexus自动部署
48+ - name : Release on nexus
49+ uses : monkeyWie/maven-nexus-release@v1
50+ with :
51+ # Nexus用户名
52+ maven-repo-server-username : ${{ secrets.OSSRH_USERNAME }}
53+ # Nexus密码
54+ maven-repo-server-password : ${{ secrets.OSSRH_PASSWORD }}
0 commit comments