mirror of
https://git.bjxgj.com/xgj/xgj-actions.git
synced 2025-10-14 11:23:37 +08:00
feat: 添加 Web 项目发布构建的 GitHub Action,包括版本发布、Docker 镜像构建和推送,支持灵活的输入参数和环境变量配置,优化 CI/CD 流程。
This commit is contained in:
83
release-web/examples/environment-variables.yml
Normal file
83
release-web/examples/environment-variables.yml
Normal file
@@ -0,0 +1,83 @@
|
||||
name: "环境变量配置示例"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
release-with-env:
|
||||
runs-on: ubuntu-latest
|
||||
name: "使用环境变量配置发布"
|
||||
|
||||
steps:
|
||||
- name: 检出代码
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
token: ${{ secrets.GITEA_TOKEN }}
|
||||
|
||||
- name: 设置构建环境
|
||||
uses: actions/xgj/setup-env@main
|
||||
with:
|
||||
docker-password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
skip-kubectl: "true"
|
||||
|
||||
- name: 安装依赖
|
||||
uses: actions/xgj/npm-install@main
|
||||
with:
|
||||
package-manager: "npm"
|
||||
|
||||
- name: 发布构建(环境变量配置)
|
||||
id: release
|
||||
uses: actions/xgj/release-web@main
|
||||
with:
|
||||
gitea-token: ${{ secrets.GITEA_TOKEN }}
|
||||
env:
|
||||
# 🌍 任意数量的环境变量都会自动传递给 release-it 命令
|
||||
APP_ENV: "production"
|
||||
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||
SENTRY_DSN: ${{ vars.SENTRY_DSN }}
|
||||
SENTRY_VITE: "true"
|
||||
|
||||
# 自定义环境变量示例
|
||||
BUILD_NUMBER: ${{ github.run_number }}
|
||||
BRANCH_NAME: ${{ github.ref_name }}
|
||||
COMMIT_SHA: ${{ github.sha }}
|
||||
|
||||
# release-it 相关的环境变量
|
||||
RELEASE_VERSION_TYPE: "patch"
|
||||
CHANGELOG_PRESET: "conventionalcommits"
|
||||
|
||||
# 其他可能需要的环境变量
|
||||
CI: "true"
|
||||
NODE_ENV: "production"
|
||||
|
||||
- name: 多环境配置示例
|
||||
uses: actions/xgj/release-web@main
|
||||
with:
|
||||
gitea-token: ${{ secrets.GITEA_TOKEN }}
|
||||
docker-tags: |
|
||||
env-example
|
||||
${{ github.ref_name }}
|
||||
env:
|
||||
# 🎯 根据分支设置不同的环境变量
|
||||
APP_ENV: ${{ github.ref == 'refs/heads/main' && 'production' || 'staging' }}
|
||||
SENTRY_VITE: ${{ github.ref == 'refs/heads/main' && 'true' || 'false' }}
|
||||
|
||||
# 动态环境变量
|
||||
DEPLOY_TARGET: ${{ github.ref == 'refs/heads/main' && 'prod' || 'dev' }}
|
||||
FEATURE_FLAG_NEW_UI: ${{ contains(github.event.head_commit.message, '[enable-new-ui]') && 'true' || 'false' }}
|
||||
|
||||
- name: 发布结果
|
||||
run: |
|
||||
echo "🎉 发布完成!"
|
||||
echo "📦 版本: ${{ steps.release.outputs.version }}"
|
||||
echo ""
|
||||
echo "✨ 环境变量的优势:"
|
||||
echo " 🌍 可以传递任意数量的环境变量"
|
||||
echo " 🔄 支持动态配置"
|
||||
echo " 🎯 基于条件设置不同值"
|
||||
echo " 🔧 release-it 和构建脚本可直接使用"
|
||||
echo " 📋 不需要修改 action 代码"
|
Reference in New Issue
Block a user