docs: 读书整理模块 文档更新 #14
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## CD交付流水线 | |
## - 部署到Github Pages | |
## - 部署到Vercel托管平台 | |
## - 发布新的Github Release | |
## 参考资料:https://v2.vuepress.vuejs.org/zh/guide/deployment.html#github-pages | |
name: CD | |
on: | |
push: | |
branches: | |
- master | |
- next | |
workflow_dispatch: | |
## vercel 环境变量 | |
env: | |
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} | |
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} | |
# 阿里云仓库信息 | |
REGISTRY: registry.cn-hangzhou.aliyuncs.com | |
UserName: mmdapl | |
jobs: | |
install-init: | |
name: "流水线初始化" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
with: | |
# “最近更新时间” 等 git 日志相关信息,需要拉取全部提交记录 | |
fetch-depth: 0 | |
- name: Install Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16.20.2 | |
- name: PNPM Install | |
uses: pnpm/action-setup@v2 | |
with: | |
version: 7 | |
run_install: true | |
- name: Cache Dependencies | |
uses: actions/cache@v3 | |
with: | |
path: | | |
node_modules | |
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/pnpm-lock.yaml') }} | |
## 部署到Github-Pages | |
deploy-github: | |
name: "部署到Github-Pages" | |
needs: install-init | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Restore Dependencies From cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
node_modules | |
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/pnpm-lock.yaml') }} | |
# 运行构建脚本 | |
- name: Build VuePress Site | |
run: ./scripts/bundle build_proxy | |
- name: Deploy To GitHub Page | |
uses: crazy-max/ghaction-github-pages@v3 | |
with: | |
target_branch: pages/github | |
build_dir: docs/.vuepress/dist | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
## 部署到vercel平台 | |
# deploy-vercel: | |
# name: "部署到Vercel平台" | |
# needs: install-init | |
# runs-on: ubuntu-latest | |
# if: github.repository == '142vip/JavaScriptCollection' | |
# steps: | |
# - name: Checkout Code | |
# uses: actions/checkout@v3 | |
# with: | |
# fetch-depth: 0 | |
# | |
# - name: Restore Dependencies From Cache | |
# uses: actions/cache@v3 | |
# with: | |
# path: | | |
# node_modules | |
# key: ${{ runner.os }}-node_modules-${{ hashFiles('**/pnpm-lock.yaml') }} | |
# | |
# - name: Pull Vercel Environment Information | |
# run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} | |
# | |
# ## 注意:安装pnpm | |
# - name: Build Project Artifacts | |
# run: npm i pnpm@7 -g && vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} | |
# | |
# - name: Deploy Project Artifacts to Vercel | |
# run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} | |
## 版本发布 | |
release: | |
name: "创建Github发布" | |
runs-on: ubuntu-latest | |
needs: install-init | |
## 主库master、next且执行release更新时执行 | |
if: github.repository == '142vip/JavaScriptCollection' && startsWith(github.event.head_commit.message, 'chore(release):') | |
steps: | |
- name: Restore Dependencies From cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
node_modules | |
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/pnpm-lock.yaml') }} | |
### 打成压缩包 | |
- name: Create Zip Package | |
run: | | |
zip -r JavaScriptCollection.zip . \ | |
-x "node_modules/*" \ | |
-x ".git/*" | |
# 提取版本号 | |
- name: Get New Version Number | |
id: extract_version | |
run: echo "::set-output name=version::$(node -p "require('./package.json').version")" | |
# 创建发布版本 | |
- name: Create New Release | |
id: create_release | |
uses: actions/create-release@latest | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: v${{ steps.extract_version.outputs.version }} | |
release_name: v${{ steps.extract_version.outputs.version }} | |
body: | | |
Release ${{ steps.extract_version.outputs.version }} | |
### Features | |
### Bug Fixes | |
## 更新资源 | |
- name: Upload Resource Assets | |
uses: actions/upload-release-asset@latest | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./JavaScriptCollection.zip | |
asset_name: JavaScriptCollection.zip | |
asset_content_type: application/zip | |
# Deploy-ESC: | |
# name: "部署到ESC服务器" | |
# needs: install-init | |
# runs-on: ubuntu-latest | |
# ## 主库master、next且执行release更新时执行 | |
# if: github.repository == '142vip/JavaScriptCollection' && startsWith(github.event.head_commit.message, 'chore(release):') | |
# | |
# steps: | |
# - name: Checkout repository | |
# uses: actions/checkout@v3 | |
# | |
# - name: Get Current Version | |
# id: version | |
# uses: ashley-taylor/[email protected] | |
# with: | |
# path: ./package.json | |
# property: version | |
# | |
# # 拉取镜像,更新服务 | |
# - name: Pull Image And Update ESC | |
# uses: appleboy/ssh-action@master | |
# with: | |
# host: ${{ secrets.SERVER_HOST }} | |
# port: ${{ secrets.SERVER_PORT }} | |
# username: ${{ secrets.SERVER_USERNAME }} | |
# password: ${{ secrets.SERVER_PASSWORD }} | |
# script: | | |
# docker images | |
# echo "-----------正在运行的服务--------" | |
# docker ps | |
# cd /service_env/ && git reset --hard && git pull origin main | |
# bash ./scripts/book_doc.deploy.sh jsc ${{steps.version.outputs.value}} |