Skip to content

部署 GitHub Pages #235

部署 GitHub Pages

部署 GitHub Pages #235

name: 部署 GitHub Pages
on:
# Runs on pushes targeting the default branch
# push:
# branches: ["main"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# push:
# paths-ignore:
# - '**/*.md'
# - '**/*.yml'
# - .gitignore
# - .editorconfig
workflow_run:
workflows: ["发布软件"]
types:
- completed
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Pages
uses: actions/configure-pages@v3
- uses: actions/cache@v3
with:
path: |
/home/runner/.npm
key: ${{ runner.os }}-js-${{ hashFiles('**/package.json') }}
restore-keys: |
${{ runner.os }}-js-
- name: install
run: |
cd GoEasyDesigner/frontend/src
./update_github_latest_releases.sh
cd ../
npm i
npm run build
- name: Build with Jekyll
uses: actions/jekyll-build-pages@v1
with:
source: ./GoEasyDesigner/frontend/dist
destination: ./_site
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
- name: Deploy file
uses: wlixcc/[email protected]
with:
server: ${{ secrets.FTP_SERVER }}
port: ${{ secrets.FTP_PORT }}
username: ${{ secrets.FTP_USERNAME }}
password: ${{ secrets.FTP_PASSWORD }}
local_path: './GoEasyDesigner/frontend/dist/*'
remote_path: '/config/www'
sftp_only: true
# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2