diff --git a/README.md b/README.md index 51ca89c..0774460 100644 --- a/README.md +++ b/README.md @@ -1 +1,88 @@ -# aspnet发布nuget插件 \ No newline at end of file +# Release-NuGet Action + +一个用于自动发布 NuGet 包到指定源的 GitHub Action。 + +## 功能特性 + +- 支持发布多个项目到指定的 NuGet 源 +- 可配置 .NET SDK 版本 +- 支持自定义构建配置 +- 提供预发布版本控制选项 +- 包含详细的日志输出 +- 自动跳过重复发布 +- 错误处理和项目检查 + +## 输入参数 + +| 参数 | 必需 | 默认值 | 描述 | +|------|------|--------|------| +| `source` | 是 | - | NuGet 包发布地址 | +| `key` | 是 | - | NuGet 发布凭证密钥 | +| `projects` | 是 | - | 要发布的项目名称列表,使用逗号分隔 | +| `nuget_dir` | 否 | `nuget` | NuGet 包缓存目录,用于缓存依赖 | +| `dotnet_version` | 否 | `6.0` | .NET SDK 版本 | + +## 使用示例 + +### 基本用法 + +```yaml +name: 发布 NuGet 包 + +on: + push: + tags: + - 'v*.*.*' + +jobs: + publish: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: 发布到 NuGet.org + uses: actions/release-nuget@6.0 + with: + source: https://api.nuget.org/v3/index.json + key: ${{ secrets.NUGET_API_KEY }} + projects: MyProject,MyLibrary +``` + +### 高级用法 + +```yaml +name: 发布 NuGet 包 + +on: + push: + tags: + - 'v*.*.*' + +jobs: + publish: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: 发布到私有 NuGet 源 + uses: actions/release-nuget@6.0 + with: + source: https://myget.org/F/my-feed/v3/index.json + key: ${{ secrets.MYGET_API_KEY }} + projects: MyProject + nuget_dir: .nuget +``` + +## 注意事项 + +1. 请确保在 GitHub Secrets 中安全存储您的 NuGet API 密钥 +2. 项目路径应该相对于工作区根目录 +3. 对于预发布版本,请设置 `allow_prerelease: true` +4. 支持的 .NET SDK 版本取决于 Docker Hub 上可用的 `mcr.microsoft.com/dotnet/sdk` 镜像版本 + +## 故障排除 + +- 确保项目文件路径正确 +- 检查 NuGet API 密钥是否有效 +- 验证 NuGet 源地址是否可访问 +- 查看日志输出以获取详细的错误信息 \ No newline at end of file