|
|
||
|---|---|---|
| .gitattributes | ||
| .gitignore | ||
| README.md | ||
| action.yaml | ||
README.md
Release-NuGet Action
一个用于自动发布 NuGet 包到指定源的 GitHub Action。
功能特性
- 支持发布多个项目到指定的 NuGet 源
- 可配置 .NET SDK 版本
- 支持自定义构建配置
- 提供预发布版本控制选项
- 包含详细的日志输出
- 自动跳过重复发布
- 错误处理和项目检查
输入参数
| 参数 | 必需 | 默认值 | 描述 |
|---|---|---|---|
source |
是 | - | NuGet 包发布地址 |
key |
是 | - | NuGet 发布凭证密钥 |
projects |
是 | - | 要发布的项目名称列表,使用逗号分隔 |
nuget_dir |
否 | nuget |
NuGet 包缓存目录,用于缓存依赖 |
dotnet_version |
否 | 6.0 |
.NET SDK 版本 |
使用示例
基本用法
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
高级用法
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
注意事项
- 请确保在 GitHub Secrets 中安全存储您的 NuGet API 密钥
- 项目路径应该相对于工作区根目录
- 对于预发布版本,请设置
allow_prerelease: true - 支持的 .NET SDK 版本取决于 Docker Hub 上可用的
mcr.microsoft.com/dotnet/sdk镜像版本
故障排除
- 确保项目文件路径正确
- 检查 NuGet API 密钥是否有效
- 验证 NuGet 源地址是否可访问
- 查看日志输出以获取详细的错误信息