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

@@ -22,7 +22,7 @@ on:
- minor
- major
custom_tags:
description: "自定义Docker标签(每行一个)"
description: "自定义标签(每行一个)"
required: false
default: ""
@@ -35,19 +35,13 @@ jobs:
matrix:
include:
- environment: staging
dockerfile: "./container/dev/Dockerfile"
app_env: "staging"
registry: "docker-registry.bjxgj.com"
namespace: "staging"
- environment: production
dockerfile: "./container/prod/Dockerfile"
app_env: "production"
registry: "docker-registry.bjxgj.com"
namespace: "production"
- environment: testing
dockerfile: "./container/test/Dockerfile"
app_env: "testing"
registry: "docker-registry.bjxgj.com"
namespace: "testing"
steps:
@@ -60,8 +54,6 @@ jobs:
- name: 设置构建环境
uses: actions/xgj/setup-env@main
with:
docker-registry: ${{ matrix.registry }}
docker-password: ${{ secrets.DOCKER_PASSWORD }}
kube-config: ${{ secrets.KUBE_CONFIG }}
- name: 安装依赖
@@ -69,67 +61,26 @@ jobs:
with:
package-manager: "pnpm"
- name: 准备环境特定的标签
id: env_tags
run: |
ENVIRONMENT="${{ github.event.inputs.environment }}"
VERSION_TYPE="${{ github.event.inputs.version_type }}"
CUSTOM_TAGS="${{ github.event.inputs.custom_tags }}"
# 基础标签
TAGS="${ENVIRONMENT}"
TAGS="${TAGS}\n${ENVIRONMENT}-${VERSION_TYPE}"
TAGS="${TAGS}\n$(date +%Y%m%d)-${ENVIRONMENT}"
# 添加自定义标签
if [[ -n "$CUSTOM_TAGS" ]]; then
while IFS= read -r tag; do
if [[ -n "$tag" ]]; then
TAGS="${TAGS}\n${tag}-${ENVIRONMENT}"
fi
done <<< "$CUSTOM_TAGS"
fi
{
echo "tags<<EOF"
echo -e "$TAGS"
echo "EOF"
} >> $GITHUB_OUTPUT
echo "🏷️ 环境特定标签:"
echo -e "$TAGS" | sed 's/^/ - /'
- name: 发布构建
id: release
uses: actions/xgj/release-web@main
with:
gitea-token: ${{ secrets.GITEA_TOKEN }}
app-env: ${{ matrix.app_env }}
sentry-auth-token: ${{ secrets.SENTRY_AUTH_TOKEN }}
sentry-dsn: ${{ vars.SENTRY_DSN }}
enable-sentry: ${{ matrix.environment == 'production' && 'true' || 'false' }}
docker-registry: ${{ matrix.registry }}
dockerfile-path: ${{ matrix.dockerfile }}
release-command: "npm run release -- --release -V --increment ${{ github.event.inputs.version_type }}"
docker-tags: ${{ steps.env_tags.outputs.tags }}
- name: 部署到Kubernetes
- name: 部署应用
run: |
ENVIRONMENT="${{ github.event.inputs.environment }}"
VERSION="${{ steps.release.outputs.version }}"
NAMESPACE="${{ matrix.namespace }}"
IMAGE="${{ matrix.registry }}/${{ github.event.repository.name }}:${VERSION}"
echo "🚀 部署到 ${ENVIRONMENT} 环境..."
echo "📦 版本: ${VERSION}"
echo "🐳 镜像: ${IMAGE}"
echo "📍 命名空间: ${NAMESPACE}"
kubectl set image deployment/web-app \
web-app=${IMAGE} \
-n ${NAMESPACE}
kubectl rollout status deployment/web-app -n ${NAMESPACE}
# 这里可以根据实际情况部署应用
# 例如通过配置文件更新、API调用等方式
echo "✅ 部署完成!"
@@ -141,11 +92,4 @@ jobs:
echo " - 环境: ${{ github.event.inputs.environment }}"
echo " - 版本: ${{ steps.release.outputs.version }}"
echo " - 版本类型: ${{ github.event.inputs.version_type }}"
echo " - Docker仓库: ${{ matrix.registry }}"
echo " - Kubernetes命名空间: ${{ matrix.namespace }}"
echo ""
echo "🏷️ 主要标签:"
echo " - latest默认"
echo " - prod默认"
echo " - ${{ steps.release.outputs.version }}(版本标签)"
echo " - ${{ github.event.inputs.environment }}(环境标签)"
echo " - 命名空间: ${{ matrix.namespace }}"