chore: 更新 Web 项目发布构建的 GitHub Action,简化 Docker 相关配置,移除不必要的输入参数和步骤,优化描述信息以提高可读性。

This commit is contained in:
Lyda
2025-08-20 17:26:15 +08:00
parent 3144b5c203
commit 6f61b95795
6 changed files with 7 additions and 265 deletions

View File

@@ -1,9 +1,9 @@
name: 'Web项目发布构建'
description: '自动化Web项目发布流程包括版本发布、Docker镜像构建和推送'
description: '自动化Web项目发布流程支持版本管理和发布'
author: 'Your Organization'
branding:
icon: 'upload-cloud'
icon: 'tag'
color: 'green'
inputs:
@@ -22,31 +22,6 @@ inputs:
required: false
default: 'npm run release -- --release -V'
docker-registry:
description: 'Docker仓库地址'
required: false
default: 'docker-registry.bjxgj.com'
docker-context:
description: 'Docker构建上下文路径'
required: false
default: '.'
dockerfile-path:
description: 'Dockerfile路径'
required: false
default: './container/dev/Dockerfile'
docker-tags:
description: '额外的Docker标签 (每行一个标签)'
required: false
default: ''
enable-docker-build:
description: '是否执行Docker构建 (true/false)'
required: false
default: 'true'
node-debug:
description: '是否启用Node.js调试模式 (true/false)'
required: false
@@ -60,14 +35,6 @@ outputs:
version-with-dash:
description: '版本号(点号替换为横线)'
value: ${{ steps.get_var.outputs.version_with_dash }}
docker-image-digest:
description: 'Docker镜像摘要'
value: ${{ steps.build.outputs.digest }}
docker-image-tags:
description: 'Docker镜像标签列表'
value: ${{ steps.build.outputs.tags }}
runs:
using: 'composite'
@@ -82,13 +49,6 @@ runs:
exit 1
fi
if [[ "${{ inputs.enable-docker-build }}" == "true" ]]; then
if [[ ! -f "${{ inputs.dockerfile-path }}" ]]; then
echo "❌ 错误: Dockerfile 不存在: ${{ inputs.dockerfile-path }}"
exit 1
fi
fi
echo "✅ 参数验证通过"
- name: 发布构建
@@ -124,57 +84,6 @@ runs:
echo "📦 发布版本: $VERSION"
echo "📦 带横线版本: $VERSION_WITH_DASH"
- name: 准备Docker标签
if: ${{ inputs.enable-docker-build == 'true' }}
id: docker_tags
shell: bash
run: |
echo "🏷️ 准备Docker标签..."
REPO_NAME="${{ github.event.repository.name }}"
REGISTRY="${{ inputs.docker-registry }}"
VERSION="${{ steps.get_var.outputs.version }}"
# 基础标签(保留版本标签)
TAGS="${TAGS}\n${REGISTRY}/${REPO_NAME}:${VERSION}"
# 添加用户自定义标签
if [[ -n "${{ inputs.docker-tags }}" ]]; then
while IFS= read -r tag; do
if [[ -n "$tag" ]]; then
# 如果标签不包含仓库地址,则添加默认仓库前缀
if [[ "$tag" != *"/"* ]]; then
TAGS="${TAGS}\n${REGISTRY}/${REPO_NAME}:${tag}"
else
TAGS="${TAGS}\n${tag}"
fi
fi
done <<< "${{ inputs.docker-tags }}"
fi
echo "Docker标签列表:"
echo -e "$TAGS" | sed 's/^/ - /'
# 将标签转换为多行格式供后续步骤使用
echo -e "$TAGS" > /tmp/docker-tags.txt
# 输出标签给后续步骤使用
{
echo "tags<<EOF"
echo -e "$TAGS"
echo "EOF"
} >> $GITHUB_OUTPUT
- name: 构建并推送Docker镜像
if: ${{ inputs.enable-docker-build == 'true' }}
id: build
uses: docker/build-push-action@v6
with:
context: ${{ inputs.docker-context }}
file: ${{ inputs.dockerfile-path }}
push: true
tags: ${{ steps.docker_tags.outputs.tags }}
- name: 发布总结
shell: bash
run: |
@@ -183,18 +92,3 @@ runs:
echo "📋 发布信息:"
echo " - 版本号: ${{ steps.get_var.outputs.version }}"
echo " - 应用环境: ${{ inputs.app-env }}"
echo " - Sentry启用: ${{ inputs.enable-sentry }}"
echo ""
if [[ "${{ inputs.enable-docker-build }}" == "true" ]]; then
echo "🐳 Docker信息:"
echo " - 仓库: ${{ inputs.docker-registry }}"
echo " - 项目名: ${{ github.event.repository.name }}"
echo " - 主要标签:"
echo " - ${{ steps.get_var.outputs.version }}"
if [[ -n "${{ steps.build.outputs.digest }}" ]]; then
echo " - 镜像摘要: ${{ steps.build.outputs.digest }}"
fi
else
echo "🐳 Docker构建已跳过"
fi