我正在尝试对GitHub
进行自动或半自动版本控制。
我研究了自动化发布工作流程的可能性,对于GitHub
来说似乎不是什么标准。
每当我在pom.xml
上创建标签或合并到GitHub
分支时,我都希望自动更新master
中的版本。
答案 0 :(得分:1)
我找到了可以使用Github Actions解决的解决方案,该解决方案可以进一步扩展。每当我发布并手动指定发布说明和变更日志时,都可以从github.event.release.tag_name
mvn -B versions:set -DnewVersion=${{ github.event.release.tag_name }} -DgenerateBackupPoms=false
对实际GitHub工作流程的引用是here。
.github/workflows/deploy.yml
在撰写本文时:
name: Publish package to the Maven Central Repository
on:
release:
types: [created]
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
uses: actions/checkout@v2
- name: Install Java and Maven
uses: actions/setup-java@v1
with:
java-version: 8
- if: github.event.release
name: Update version in pom.xml (Release only)
run: mvn -B versions:set -DnewVersion=${{ github.event.release.tag_name }} -DgenerateBackupPoms=false
- name: Release Maven package
uses: samuelmeuli/action-maven-publish@v1.4.0
with:
maven_profiles: deploy, verify
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
gpg_passphrase: ${{ secrets.GPG_PASSPHRASE }}
nexus_username: ${{ secrets.OSSRH_USERNAME }}
nexus_password: ${{ secrets.OSSRH_TOKEN }}