Skip to content

GitHubNull/mySqlmapClient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Actions工作流说明

本目录包含了项目的GitHub Actions自动化工作流配置。

📋 工作流概览

🔄 CI工作流 (ci.yml)

触发条件:

  • 推送到 master/main/develop 分支
  • 创建或更新 Pull Request
  • 手动触发

功能:

  • 在多个Java版本 (8, 11, 17) 上测试编译
  • 运行单元测试
  • 生成构建产物
  • 缓存Maven依赖以加速构建

🚀 发布工作流 (release.yml)

触发条件:

  • 推送版本标签 (如 v1.3.1)
  • 手动触发并指定版本

功能:

  • 自动编译和打包项目
  • 生成详细的变更日志
  • 创建GitHub Release
  • 上传JAR文件和校验和文件
  • 支持手动和自动发布

✅ PR检查工作流 (pr-check.yml)

触发条件:

  • Pull Request 创建、更新或重新打开

功能:

  • 验证代码编译
  • 运行测试套件
  • 检查JAR文件完整性
  • 验证项目结构
  • 检查提交消息格式
  • 扫描合并冲突标记

🤖 自动发布工作流 (auto-release.yml)

触发条件:

  • 推送到 master/main 分支(当pom.xml或源码变更时)
  • 手动触发

功能:

  • 检测pom.xml中的版本变更
  • 自动创建版本标签
  • 触发发布流程
  • 避免重复发布

🎯 使用指南

创建新版本发布

方法1: 自动发布

  1. 更新 pom.xml 中的版本号
  2. 提交并推送到 master 分支
  3. 系统将自动检测版本变更并创建发布

方法2: 手动标签发布

  1. 创建并推送版本标签:
git tag -a v1.3.2 -m "Release version 1.3.2"
git push origin v1.3.2

方法3: 手动触发发布

  1. 在GitHub Actions页面找到 "Release" 工作流
  2. 点击 "Run workflow"
  3. 输入版本标签(如 v1.3.2)

提交规范

为了更好地生成变更日志,建议使用约定式提交格式:

feat: 添加新功能
fix: 修复bug
docs: 更新文档
style: 代码格式调整
refactor: 代码重构
test: 添加测试
chore: 构建工具或辅助工具的变动
build: 构建系统或外部依赖的变动
ci: CI配置文件和脚本的变动

或使用中文:

新增: 添加新功能
修复: 修复bug问题  
优化: 性能或代码优化
更新: 更新文档或依赖
文档: 文档相关变更
测试: 测试相关变更
构建: 构建相关变更

变更日志生成

发布工作流会自动生成结构化的变更日志,包括:

  • 🚀 新增功能
  • 🐛 问题修复
  • 🔧 改进优化
  • 📚 文档更新
  • 🔨 构建和部署
  • 📊 完整变更记录
  • 🔗 相关链接
  • 📦 安装方法
  • ⚠️ 重要提醒

🔧 自定义配置

修改Java版本

ci.yml 中修改 matrix.java-version 来改变测试的Java版本。

修改触发分支

更新各工作流中的 branches 配置来改变触发分支。

添加通知

可以在工作流中添加Slack、Teams或邮件通知步骤。

自定义变更日志

修改 release.yml 中的变更日志生成逻辑来自定义输出格式。

🚨 故障排除

常见问题

  1. 构建失败

    • 检查Java版本兼容性
    • 确认依赖项是否正确
    • 查看完整的构建日志
  2. 发布失败

    • 确认版本标签格式正确 (vX.Y.Z)
    • 检查仓库权限设置
    • 验证pom.xml版本号
  3. 权限问题

    • 确保仓库开启了Actions权限
    • 检查GITHUB_TOKEN权限设置

调试技巧

  1. 在工作流步骤中添加调试输出:
- name: Debug
  run: |
    echo "Current directory: $(pwd)"
    ls -la
    echo "Java version: $(java -version)"
  1. 使用 act 本地测试工作流:
# 安装 act
curl https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash

# 运行工作流
act push

📈 性能优化

  • 使用Maven依赖缓存减少构建时间
  • 并行执行多个测试作业
  • 只在必要时运行完整的测试套件
  • 合理设置artifact保留时间

🔒 安全注意事项

  • 不在工作流中暴露敏感信息
  • 使用GitHub Secrets存储密钥
  • 定期更新Action版本
  • 审查第三方Actions的安全性

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •