name: Deploy preview on: push: branches: - master jobs: cdn: name: CDN if: "! contains(github.event.head_commit.message, '[skip ci]')" runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: bahmutov/npm-install@v1 - name: Set vue cli env shell: bash run: | echo -e "\ VUE_APP_PUBLIC_PATH=/d2-admin-start-kit/preview/\ " > .env.preview.local cat .env.preview.local | while read line do echo $line done - name: Build run: yarn build:preview --report - name: Setup qshell uses: foxundermoon/setup-qshell@v1 env: ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' with: qshell-version: '2.4.0' - name: Test qshell run: qshell version - name: Login run: qshell account ${{ secrets.AK }} ${{ secrets.SK }} GITHUB_ACTION - name: CDN upload run: | qshell qupload2 \ --src-dir=$GITHUB_WORKSPACE/dist \ --bucket=d2-cdn \ --key-prefix=${GITHUB_REPOSITORY//*\//}/preview/ \ --overwrite=true \ --check-exists=true \ --check-hash=true \ --check-size=true \ --rescan-local=true \ --thread-count=32 - name: CDN refresh run: | echo "https://cdn.d2.pub/${GITHUB_REPOSITORY//*\//}/preview/" > cdnrefresh.txt qshell cdnrefresh --dirs -i ./cdnrefresh.txt ftp: name: FTP if: "! contains(github.event.head_commit.message, '[skip ci]')" runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: bahmutov/npm-install@v1 - name: Set vue cli env shell: bash run: | echo -e "\ VUE_APP_PUBLIC_PATH=/d2-admin-start-kit/preview/\ " > .env.preview.local cat .env.preview.local | while read line do echo $line done - name: Build run: yarn build:preview --report - 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: /www/d2-admin-start-kit/preview ARGS: --delete --verbose --parallel=100 gh-pages: name: Github Pages if: "! contains(github.event.head_commit.message, '[skip ci]')" runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: bahmutov/npm-install@v1 - name: Set vue cli env shell: bash run: | echo -e "\ VUE_APP_PUBLIC_PATH=/d2-admin-start-kit/\ " > .env.preview.local cat .env.preview.local | while read line do echo $line done - name: Build run: yarn build:preview --report - name: Deploy uses: peaceiris/actions-gh-pages@v2 env: PERSONAL_TOKEN: ${{ secrets.ACCESS_TOKEN }} PUBLISH_BRANCH: gh-pages PUBLISH_DIR: ./dist with: forceOrphan: true