Compare commits
1 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
498ee87f55 |
89
README.md
89
README.md
|
|
@ -1,88 +1 @@
|
||||||
# Release-NuGet Action
|
# aspnet发布nuget插件
|
||||||
|
|
||||||
一个用于自动发布 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 源地址是否可访问
|
|
||||||
- 查看日志输出以获取详细的错误信息
|
|
||||||
|
|
@ -43,7 +43,7 @@ runs:
|
||||||
chmod +x entrypoint.sh
|
chmod +x entrypoint.sh
|
||||||
|
|
||||||
- name: 在docker中运行
|
- name: 在docker中运行
|
||||||
uses: docker://dotnet/sdk:6.0
|
uses: docker://dotnet/sdk:8.0
|
||||||
with:
|
with:
|
||||||
entrypoint: ./entrypoint.sh
|
entrypoint: ./entrypoint.sh
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue