之前我是用时gitea + drone的方式自动部署博客网站,后来因为远程服务器打包有点慢,改成本地使用脚本部署的方式了。
步骤
1.将以下脚本复制到代码根目录中,命名为:deploy.sh。
#!/bin/bash
npm run build # 打包网站
# 本地dist目录的路径LOCAL_DIR="./dist"
# 打包后的文件名TAR_FILE="dist.tar.gz"
# 远程服务器的IP地址或主机名[需要修改]SERVER="159.75.81.xxx"
# 远程服务器的用户名[需要修改]USERNAME="cirry"12 collapsed lines
# 远程服务器的目标路径[需要修改]REMOTE_DIR="/home/astro/blog"
# 打包本地dist目录tar -zcvf $TAR_FILE $LOCAL_DIR
# 上传打包后的文件到远程服务器scp $TAR_FILE $USERNAME@$SERVER:$REMOTE_DIR
# 在远程服务器上解压缩文件并删除压缩包ssh $USERNAME@$SERVER "cd $REMOTE_DIR; rm -rf $REMOTE_DIR/dist;tar -zxvf $TAR_FILE; rm $TAR_FILE"2.在vscode中开启命令行,赋予执行权限chmod +x ./deploy.sh。
3.输入./deploy.sh就可以自动部署到服务器中了。
4.然后代理/home/astro/blog/dist 目录为博客网站就可以了,这里以Caddy举例。
在Caddy中的Caddyfile配置方式应如下:
cirry.cn { root * /home/astro/blog/dist file_server}提示:在使用脚本连接服务器的时候会提示需要输入密码,可以提前设置ssh无密登录,可以参考这篇文章sshd连接设置免密登陆。