feat: 在 trigger-version GitHub Action 中添加 use-latest-version 输入参数,支持在非版本触发时使用当前分支最新的版本标签,同时更新版本号输出格式,新增横线格式版本号的生成,更新文档以反映新功能和使用示例。

This commit is contained in:
Lyda
2025-08-21 11:05:24 +08:00
parent 8c5ff61828
commit 52eb45b66f
4 changed files with 82 additions and 11 deletions

View File

@@ -8,6 +8,7 @@
- 🔄 **版本分支检测**:识别版本分支(如 `v1.2.x`)并提取版本信息
- 🆕 **常规分支处理**:对于非版本分支提供基础信息
- 🎯 **灵活的版本前缀**:支持自定义版本前缀(默认为 `v`
- 🔧 **版本格式转换**:自动生成横线格式的版本号(如 `v1.2.3``v1-2-3`
- 📤 **环境变量输出**:自动设置环境变量供后续步骤使用
- 📊 **详细的输出信息**:提供完整的引用信息和触发状态
@@ -25,6 +26,7 @@
| `ref-name` | 引用名称 | `v1.2.3``main``feature/xxx` |
| `is-version-trigger` | 是否为版本触发 | `true``false` |
| `trigger-version` | 触发的版本号(去除前缀) | `1.2.3` |
| `version-with-dash` | 版本号,点替换为横线 | `1-2-3` |
| `trigger-source` | 触发源 | `tag``branch` |
| `full-ref` | 完整的 Git 引用 | `refs/tags/v1.2.3` |
@@ -34,6 +36,7 @@ Action 会自动设置以下环境变量:
- `IS_VERSION_TRIGGER`: 是否为版本触发true/false
- `TRIGGER_VERSION`: 触发的版本号
- `VERSION_WITH_DASH`: 版本号,点替换为横线
- `TRIGGER_SOURCE`: 触发源tag/branch
## 使用示例
@@ -53,6 +56,7 @@ jobs:
outputs:
is-version-trigger: ${{ steps.version-info.outputs.is-version-trigger }}
trigger-version: ${{ steps.version-info.outputs.trigger-version }}
version-with-dash: ${{ steps.version-info.outputs.version-with-dash }}
trigger-source: ${{ steps.version-info.outputs.trigger-source }}
steps:
- name: 获取版本信息
@@ -63,6 +67,7 @@ jobs:
run: |
echo "是否版本触发: ${{ steps.version-info.outputs.is-version-trigger }}"
echo "版本号: ${{ steps.version-info.outputs.trigger-version }}"
echo "横线版本号: ${{ steps.version-info.outputs.version-with-dash }}"
echo "触发源: ${{ steps.version-info.outputs.trigger-source }}"
deploy:
@@ -73,6 +78,7 @@ jobs:
- name: 部署版本
run: |
echo "部署版本: ${{ needs.get-version-info.outputs.trigger-version }}"
echo "Docker标签: myapp:${{ needs.get-version-info.outputs.version-with-dash }}"
```
### 自定义版本前缀
@@ -152,6 +158,7 @@ jobs:
- `is-version-trigger`: `true`
- `trigger-version`: `1.2.3`
- `version-with-dash`: `v1-2-3`
- `trigger-source`: `tag`
### 版本分支触发
@@ -160,6 +167,7 @@ jobs:
- `is-version-trigger`: `true`
- `trigger-version`: `1.2.x`
- `version-with-dash`: `v1-2-x`
- `trigger-source`: `branch`
### 常规分支触发
@@ -168,14 +176,16 @@ jobs:
- `is-version-trigger`: `false`
- `trigger-version`: `""`
- `version-with-dash`: `""`
- `trigger-source`: `branch`
## 最佳实践
1. **条件部署**:使用 `is-version-trigger` 来决定是否执行生产部署
2. **版本标记**:在构建产物中使用 `trigger-version` 进行版本标记
3. **环境区分**:根据触发源选择不同的部署环境
4. **日志记录**:记录详细的版本信息用于追踪和调试
3. **Docker 标签**:使用 `version-with-dash` 作为 Docker 镜像标签(避免点号问题)
4. **环境区分**:根据触发源选择不同的部署环境
5. **日志记录**:记录详细的版本信息用于追踪和调试
## 注意事项