mirror of
https://git.bjxgj.com/xgj/xgj-actions.git
synced 2025-10-14 06:33:37 +08:00
95 lines
2.6 KiB
YAML
95 lines
2.6 KiB
YAML
name: 'Web项目发布构建'
|
||
description: '自动化Web项目发布流程,支持版本管理和发布'
|
||
author: 'Your Organization'
|
||
|
||
branding:
|
||
icon: 'tag'
|
||
color: 'green'
|
||
|
||
inputs:
|
||
gitea-token:
|
||
description: 'Gitea访问令牌'
|
||
required: true
|
||
|
||
app-env:
|
||
description: '应用环境 (development, production等)'
|
||
required: false
|
||
default: 'production'
|
||
|
||
|
||
release-command:
|
||
description: '发布命令,默认为 npm run release -- --release -V'
|
||
required: false
|
||
default: 'npm run release -- --release -V'
|
||
|
||
node-debug:
|
||
description: '是否启用Node.js调试模式 (true/false)'
|
||
required: false
|
||
default: 'false'
|
||
|
||
outputs:
|
||
version:
|
||
description: '发布的版本号'
|
||
value: ${{ steps.get_var.outputs.version }}
|
||
|
||
version-with-dash:
|
||
description: '版本号(点号替换为横线)'
|
||
value: ${{ steps.get_var.outputs.version_with_dash }}
|
||
|
||
runs:
|
||
using: 'composite'
|
||
steps:
|
||
- name: 验证必需参数
|
||
shell: bash
|
||
run: |
|
||
echo "🔍 验证输入参数..."
|
||
|
||
if [[ -z "${{ inputs.gitea-token }}" ]]; then
|
||
echo "❌ 错误: gitea-token 参数是必需的"
|
||
exit 1
|
||
fi
|
||
|
||
echo "✅ 参数验证通过"
|
||
|
||
- name: 发布构建
|
||
shell: bash
|
||
run: |
|
||
echo "🚀 开始发布构建..."
|
||
echo "执行命令: ${{ inputs.release-command }}"
|
||
${{ inputs.release-command }}
|
||
echo "✅ 发布构建完成"
|
||
env:
|
||
NODE_DEBUG: ${{ inputs.node-debug == 'true' && 'release-it:*' || '' }}
|
||
GITEA_TOKEN: ${{ inputs.gitea-token }}
|
||
APP_ENV: ${{ inputs.app-env }}
|
||
|
||
- name: 获取版本信息
|
||
id: get_var
|
||
shell: bash
|
||
run: |
|
||
echo "📝 获取版本信息..."
|
||
|
||
if [[ ! -f "/tmp/last-version" ]]; then
|
||
echo "❌ 错误: 版本文件 /tmp/last-version 不存在"
|
||
echo "请确保发布命令正确执行并生成了版本文件"
|
||
exit 1
|
||
fi
|
||
|
||
VERSION=$(cat /tmp/last-version)
|
||
VERSION_WITH_DASH=$(echo "$VERSION" | sed 's/\./-/g')
|
||
|
||
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
||
echo "version_with_dash=$VERSION_WITH_DASH" >> $GITHUB_OUTPUT
|
||
|
||
echo "📦 发布版本: $VERSION"
|
||
echo "📦 带横线版本: $VERSION_WITH_DASH"
|
||
|
||
- name: 发布总结
|
||
shell: bash
|
||
run: |
|
||
echo "🎉 发布流程完成!"
|
||
echo ""
|
||
echo "📋 发布信息:"
|
||
echo " - 版本号: ${{ steps.get_var.outputs.version }}"
|
||
echo " - 应用环境: ${{ inputs.app-env }}"
|