CI/CD 优化:前端构建产物上传 artifact,VPS 跳过二次 npm run build
This commit is contained in:
@@ -54,25 +54,38 @@ jobs:
|
||||
- name: Build
|
||||
run: npm run build
|
||||
|
||||
docker-build:
|
||||
- name: Upload frontend build artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: frontend-next
|
||||
path: |
|
||||
frontend/.next
|
||||
frontend/package.json
|
||||
frontend/package-lock.json
|
||||
frontend/next.config.mjs
|
||||
frontend/public
|
||||
!frontend/.next/cache
|
||||
|
||||
deploy:
|
||||
needs: [python-quality, frontend-quality]
|
||||
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Build Docker image
|
||||
run: docker build -t polyweather-ci .
|
||||
- name: Download frontend build artifact
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: frontend-next
|
||||
path: frontend
|
||||
|
||||
deploy:
|
||||
needs: [python-quality, frontend-quality, docker-build]
|
||||
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Deploy to VPS
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "${{ secrets.VPS_SSH_KEY }}" > ~/.ssh/id_rsa
|
||||
chmod 600 ~/.ssh/id_rsa
|
||||
scp -o StrictHostKeyChecking=accept-new -r frontend/.next frontend/package.json frontend/package-lock.json frontend/next.config.mjs ${{ secrets.VPS_USER }}@${{ secrets.VPS_HOST }}:/root/PolyWeather/frontend/
|
||||
ssh -o StrictHostKeyChecking=accept-new ${{ secrets.VPS_USER }}@${{ secrets.VPS_HOST }} "
|
||||
cd /root/PolyWeather
|
||||
git fetch origin main && git reset --hard origin/main
|
||||
|
||||
Reference in New Issue
Block a user