博客自动部署到云服务器
具体的做法是利用 github 的 actions 功能在提交到 master 分支的时候进行打包上传到云服务器:
yml
# 发布项目到自己的服务器上的配置
name: DeployServer
# on 表示触发actions的条件
on:
push:
branches: [master] # main分支在push的时候会触发
jobs:
build:
name: 部署到服务器上
runs-on: ubuntu-latest # nodejs执行的操作系统
steps:
- name: 更新代码/获取源码
uses: actions/checkout@master # 拉取你的最新代码
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: '18' # 指定你的node版本
- name: TranslateFile
run: |
npm install -g pnpm
cd ./packages/blog
pnpm i
pnpm run build
- name: 连接服务器
# uses: wangyucode/sftp-upload-action@24f8bb83383dc39bed201ee5da01475e6c38c568
uses: wangyucode/sftp-upload-action@v2.0.2
with:
host: ${{ secrets.SERVER_IP }} # 你的nginx服务器公网ip
port: ${{ secrets.SERVER_PORT }} # 你的nginx服务器ssh端口
username: ${{ secrets.USERNAME }} # 你的nginx服务器用户名
password: ${{ secrets.PASSWORD }} # 你的nginx服务器密码
localDir: packages/blog/docs/.vitepress/dist # 你vue项目build好的文件的路径,每次服务器上会自动删除对应的文件夹后重新覆盖
remoteDir: ${{ secrets.SERVER_DESTINATION }} # 你要把你build好的文件夹放到nginx服务器上的什么位置,一般都是nginx配置的站点路径