d2-admin/.github/workflows/deploy.yml

85 lines
2.2 KiB
YAML

name: Deploy preview
on:
push:
branches:
- master
jobs:
cdn:
name: Qiniu CDN
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
with:
node-version: '10.x'
- name: Download qshell
run: |
wget http://devtools.qiniu.com/qshell-linux-x86-v2.4.0.zip
unzip qshell-linux-x86-v2.4.0.zip
mv qshell-linux-x86-v2.4.0 qshell
- name: Install packages
run: npm i
- name: Build
run: npm run build:preview
- name: CDN 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: D2 FTP
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
with:
node-version: '10.x'
- name: Build
run: |
npm install
npm run build:preview
- 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/preview
ARGS: --delete --verbose --parallel=100
gh-pages:
name: Github Pages
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: bahmutov/npm-install@v1
- name: Build
run: yarn build:github
- name: Deploy
uses: peaceiris/actions-gh-pages@v2
env:
PERSONAL_TOKEN: ${{ secrets.ACCESS_TOKEN }}
PUBLISH_BRANCH: gh-pages
PUBLISH_DIR: ./dist
with:
forceOrphan: true