feat(docker): 动态识别多 CaaS 平台并重构环境变量注入逻辑 #49
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy to Netlify | |
| on: | |
| push: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| jobs: | |
| netlify: | |
| runs-on: ubuntu-latest | |
| name: "Deploy to Netlify" | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 | |
| with: | |
| node-version: 24 | |
| cache: 'npm' | |
| - name: Check Required Secrets | |
| run: | | |
| REQUIRED=(NETLIFY_AUTH_TOKEN NETLIFY_SITE_ID) | |
| for var in "${REQUIRED[@]}"; do | |
| if [ -z "${!var}" ]; then | |
| echo "❌ Error: $var is missing." | |
| exit 1 | |
| fi | |
| done | |
| env: | |
| NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} | |
| NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} | |
| - name: Inject Commit Hash & Platform | |
| run: node scripts/inject_vars.js --platform=netlify | |
| - name: Install Dependencies | |
| run: npm install | |
| - name: Deploy to Netlify | |
| run: | | |
| npx netlify-cli deploy --prod > /dev/null 2>&1 | |
| env: | |
| NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} | |
| NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} | |
| - name: Success Notification | |
| run: echo "🚀 NodeAuth deployed successfully to Netlify!" |