返回

自动推进:使用GitHub Actions将Jar包发布到Maven中央仓库

后端

使用 GitHub Actions 实现自动发布 Jar 包到 Maven 中央仓库

简介

在软件开发过程中,发布 Jar 包到 Maven 中央仓库是一项必不可少的任务。传统的发布方式需要通过繁琐的本地命令行操作,容易出错且耗时。本文将介绍如何利用 GitHub Actions 自动化 Jar 包发布流程,让开发者高效便捷地将构建好的 Jar 包分发给其他开发者使用。

准备工作

开始之前,您需要准备好以下内容:

  • GitHub 账户和私有仓库
  • Maven 中央仓库账户
  • 包含构建脚本(例如 Maven 或 Gradle)的 Java 项目

自动化流程

步骤 1:配置 GitHub Actions

在 GitHub 仓库中创建 .github/workflows/main.yml 文件,并添加以下内容:

name: 发布 Jar 包到 Maven 中央仓库

on:
  push:
    branches:
      - master

jobs:
  发布:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: 设置 Maven 设置
        run: mvn -B --file pom.xml settings:settings -DsettingsFile=./maven-settings.xml
      - name: 打包 Jar 包
        run: mvn -B package
      - name: 发布 Jar 包
        run: mvn -B --file pom.xml deploy

步骤 2:配置 Maven 设置

在项目根目录创建 maven-settings.xml 文件,并添加以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<settings>
  <servers>
    <server>
      <id>ossrh</id>
      <username>${env.MAVEN_USERNAME}</username>
      <password>${env.MAVEN_PASSWORD}</password>
    </server>
  </servers>
</settings>

步骤 3:配置环境变量

在 GitHub 仓库的“设置”页面中,添加以下环境变量:

  • MAVEN_USERNAME:Maven 中央仓库用户名
  • MAVEN_PASSWORD:Maven 中央仓库密码

步骤 4:运行工作流

master 分支上推送代码,触发 GitHub Actions 工作流。工作流将自动打包 Jar 包并发布到 Maven 中央仓库。

常见问题解答

问题 1:工作流没有运行?

  • 检查工作流配置和 Maven 设置是否正确。
  • 确保已配置环境变量。

问题 2:Jar 包没有发布?

  • 检查工作流日志是否有错误信息。
  • 检查 Maven 中央仓库网站,查看 Jar 包是否已发布。

问题 3:如何手动触发工作流?

  • 在 GitHub 仓库的“操作”选项卡中,单击“运行工作流”。

问题 4:可以自定义工作流吗?

  • 是的,可以在 main.yml 文件中自定义工作流的步骤和配置。

问题 5:如何发布 Snapshots 版本?

  • pom.xml 文件中将 distributionManagement 部分配置为快照版本。

总结

通过利用 GitHub Actions 自动发布 Jar 包到 Maven 中央仓库,开发者可以省时省力,避免错误,并更有效地分发软件组件。希望这篇博客能帮助您顺利完成此过程,让您的软件开发更加高效便捷。