Skip to content

commit

commit #60

Workflow file for this run

name: 部署文档和发布镜像
on:
push:
branches:
# 确保这是你正在使用的分支名称
- main
permissions:
contents: write
jobs:
deploy-gh-pages:
runs-on: ubuntu-latest
steps:
- name: 拉源码
uses: actions/checkout@v3
with:
fetch-depth: 0
# 如果你文档需要 Git 子模块,取消注释下一行
# submodules: true
- name: 安装 pnpm
uses: pnpm/action-setup@v2
with:
run_install: true
version: 8
- name: 设置 Node.js
uses: actions/setup-node@v3
with:
node-version: 18
cache: pnpm
- name: 构建文档
env:
NODE_OPTIONS: --max_old_space_size=8192
run: |-
pnpm run docs:build
> src/.vuepress/dist/.nojekyll
- name: 上传构建产物
uses: actions/[email protected]
with:
name: artifacts-html
path: src/.vuepress/dist/
# 产物保留时间
retention-days: 3
- name: 部署文档
uses: JamesIves/github-pages-deploy-action@v4
with:
# 这是文档部署到的分支名称
branch: gh-pages
folder: src/.vuepress/dist
publish-docker:
runs-on: ubuntu-latest
needs: deploy-gh-pages
steps:
- name: 拉源码
uses: actions/checkout@v3
with:
fetch-depth: 1
- name: 把当前时间放到环境变量里
run: echo "TAGDATE=$(date +'%Y-%m-%d-%H-%M')" >> $GITHUB_ENV
- name: 下载上一个步骤生成的产物
uses: actions/[email protected]
with:
name: artifacts-html
path: ./file
- name: 登陆到DockerHub
uses: docker/login-action@v2
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: 构建和推送docker镜像
uses: docker/[email protected]
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ vars.DOCKERHUB_USERNAME }}/notebook:${{ env.TAGDATE }}
deploy-hosted:
runs-on: self-hosted
needs: deploy-gh-pages
timeout-minutes: 60
steps:
- name: 下载上一个步骤生成的产物
uses: actions/[email protected]
continue-on-error: true
with:
name: artifacts-html
path: ./file
- name: 部署到个人主机
continue-on-error: true
run: |
sudo chattr -iaR /www/wwwroot/note-book/
sudo rm -rvf /www/wwwroot/note-book/*
sudo mv -vf file/* /www/wwwroot/note-book/