deploy.yml 3.4 KB
Newer Older
V
vben 已提交
1 2 3 4 5 6 7 8
name: deploy

on:
  push:
    branches:
      - main

jobs:
V
Vben 已提交
9 10 11 12 13 14
  # push-to-ftp:
  #   if: "contains(github.event.head_commit.message, '[deploy]')"
  #   runs-on: ubuntu-latest
  #   steps:
  #     - name: Checkout
  #       uses: actions/checkout@v2
V
Vben 已提交
15

V
Vben 已提交
16 17 18 19 20 21
  #     - name: Sed Config Base
  #       shell: bash
  #       run: |
  #         sed -i  's#VITE_PUBLIC_PATH\s*=.*#VITE_PUBLIC_PATH = /next/#g' ./.env.production
  #         sed -i  "s#VITE_BUILD_COMPRESS\s*=.*#VITE_BUILD_COMPRESS = 'gzip'#g" ./.env.production
  #         cat ./.env.production
V
Vben 已提交
22

V
Vben 已提交
23 24 25 26
  #     - name: use Node.js 14
  #       uses: actions/setup-node@v2.1.2
  #       with:
  #         node-version: '14.x'
V
Vben 已提交
27

V
Vben 已提交
28 29 30
  #     - name: Get yarn cache
  #       id: yarn-cache
  #       run: echo "::set-output name=dir::$(yarn cache dir)"
V
Vben 已提交
31

V
Vben 已提交
32 33 34 35 36 37 38
  #     - name: Cache dependencies
  #       uses: actions/cache@v2
  #       with:
  #         path: ${{ steps.yarn-cache.outputs.dir }}
  #         key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
  #         restore-keys: |
  #           ${{ runner.os }}-yarn-
V
Vben 已提交
39

V
Vben 已提交
40 41 42 43
  #     - name: Build
  #       run: |
  #         yarn install
  #         yarn run build
V
Vben 已提交
44

V
Vben 已提交
45 46 47 48 49 50 51 52 53 54 55
  #     - name: Deploy
  #       uses: SamKirkland/FTP-Deploy-Action@2.0.0
  #       env:
  #         FTP_SERVER: ${{ secrets.FTP_SERVER }}
  #         FTP_USERNAME: ${{ secrets.FTP_USERNAME }}
  #         FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }}
  #         METHOD: sftp
  #         PORT: ${{ secrets.FTP_PORT }}
  #         LOCAL_DIR: dist
  #         REMOTE_DIR: /srv/www/vben-admin
  #         ARGS: --delete --verbose --parallel=80
V
vben 已提交
56

V
Vben 已提交
57
  push-to-gh-pages:
V
Vben 已提交
58
    if: "contains(github.event.head_commit.message, '[release]')"
V
Vben 已提交
59
    runs-on: ubuntu-latest
V
vben 已提交
60
    steps:
V
Vben 已提交
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
      - name: Checkout
        uses: actions/checkout@v2

      - name: Sed Config Base
        shell: bash
        run: |
          sed -i  's#VITE_PUBLIC_PATH\s*=.*#VITE_PUBLIC_PATH = /vue-vben-admin/#g' ./.env.production
          sed -i  "s#VITE_BUILD_COMPRESS\s*=.*#VITE_BUILD_COMPRESS = 'gzip'#g" ./.env.production
          cat ./.env.production

      - name: use Node.js 14
        uses: actions/setup-node@v2.1.2
        with:
          node-version: '14.x'

      - name: Get yarn cache
        id: yarn-cache
        run: echo "::set-output name=dir::$(yarn cache dir)"

      - name: Cache dependencies
        uses: actions/cache@v2
        with:
          path: ${{ steps.yarn-cache.outputs.dir }}
          key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
          restore-keys: |
            ${{ runner.os }}-yarn-

      - name: Set SSH Environment
        env:
          DOCS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
        run: |
          mkdir -p ~/.ssh/
          echo "$ACTIONS_DEPLOY_KEY" > ~/.ssh/id_rsa
          chmod 600 ~/.ssh/id_rsa
          ssh-keyscan github.com > ~/.ssh/known_hosts
          chmod 700 ~/.ssh && chmod 600 ~/.ssh/*
V
Vben 已提交
97 98
          git config --local user.email "vbenadmin@163.com"
          git config --local user.name "vbenAdmin"
V
Vben 已提交
99 100 101 102 103 104 105 106 107

      - name: Delete gh-pages branch
        run: |
          git push origin --delete gh-pages

      - name: Build
        run: |
          yarn install
          yarn run build
V
Vben 已提交
108 109
          touch dist/.nojekyll
          cp dist/index.html dist/404.html
V
vben 已提交
110 111 112 113 114 115

      - name: Deploy
        uses: peaceiris/actions-gh-pages@v2.5.0
        env:
          ACTIONS_DEPLOY_KEY: ${{secrets.ACTIONS_DEPLOY_KEY}}
          PUBLISH_BRANCH: gh-pages
V
Vben 已提交
116 117 118
          PUBLISH_DIR: ./dist
        with:
          forceOrphan: true