想象一下,只需本地项目轻轻一点Git Push,您的VuePress项目便能自动部署到服务器上,无需繁琐的手动操作,无需担心配置错误,一切尽在您的指尖掌控。这就是“Git Push即部署”的魅力所在!
一、部署环境准备
- 服务器系统:CentOS 7系统中的glibc和 libstdc++ 库版本过低,建议使用CentOS 8以上,当然你也可以选择升级依赖库。
# CenOS7 安装node18+ 运行node -v时 会报错如下node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)
- 宝塔面板:一款强大的服务器管理软件,能够极大地简化服务器的配置与管理过程。在CentOS系统上安装宝塔面板的步骤如下:
yum install-ywget&&wget-O install.sh https://download.bt.cn/install/install_6.0.sh &&sh install.sh ed8484bec
其他系统安装脚本参考:【官方教程】宝塔Linux面板安装教程- 安装完成后,请确保服务器开放宝塔面板的默认端口,以便远程访问和管理。 - 安装Git为了从Gitee拉取最新的项目代码,我们需要在服务器上安装Git。使用以下命令即可完成安装:
# 安装脚本yum installgit# 检查安装情况git--version
二、宝塔软件安装和配置
1.Nginx
- 在宝塔面板中新建网站时,Nginx将作为默认的Web服务器,后续能够代理VuePress项目。
- Node.js 版本管理器- 安装Node18+由于VuePress对Node.js版本有特定要求(推荐18+),我们需要在宝塔面板的Node.js版本管理器中安装相应的版本。同时务必设置命令行版本,以避免版本不可用或冲突的问题。
- WebHook- WebHook是一种强大的自动化工具,它能够在代码仓库(如Gitee)发生变动时自动触发特定的操作,如部署更新。在宝塔面板中配置WebHook时,需要按照以下步骤操作:
- 在WebHook中添加脚本
# 部署脚本#!/bin/bashecho""#输出当前时间date--date='0 days ago'"+%Y-%m-%d %H:%M:%S"echo"Start"#git分支名称(根据实际情况修改)branch="dev"#git项目路径(根据实际情况修改)gitPath="/home/wgyc/docTemp"#git 仓库地址(根据实际情况修改)gitHttp="https://checkChen:[email protected]/checkChen/xx-xx.git"echo"Web站点路径:$gitPath"#判断项目路径是否存在if[-d"$gitPath"];thencd$gitPath#判断是否存在git目录if[!-d".git"];thenecho"在该目录下克隆 git"sudogit clone $gitHttp gittempsudomv gittemp/.git ./sudorm-rf gittempfiecho"拉取最新的项目文件"#sudo git reset --hard origin/$branchgit remote add origin $gitHttpgit branch --set-upstream-to=origin/$branch$branchsudogit reset --hard origin/$branchsudogit pull $gitHttp2>&1echo"设置目录权限"sudochown-R www:www $gitPathsudochmod-R755$gitPathecho"代码拉取结束"echo"安装依赖中......"sudonpminstallif[$?-eq0];thenecho"等待打包中......"sudonpm run docs:buildfiif[$?-eq0];thenecho"等待压缩中......"cd /home/wgyc/docTemp/docs/.vuepress/ sudozip-r dist.zip dist/ &&sudounzip-o dist.zip -d /www/wwwroot/wgyc-doc echo"成功了"fielseecho"docs:build 执行失败"fiexitelseecho"该项目路径不存在"echo"新建项目目录"exitfi
三、使用宝塔建立网站及运行目录
- 在宝塔中新建网站- 数据库选择“不创建”,PHP版本选择“纯静态”。
- 设置vuePress项目的运行目录
- 查看网站目录是否被创建
四、Gitee 配置
- 在服务器上配置 SSH 公共密钥
# 生成 SSH 密钥, 一路回车
ssh-keygen -t rsa
# 查看 SSH 公钥cat ~/.ssh/id_rsa.pub
- 配置 Gitee 仓库的 部署公钥
- 配置 Gitee WebHook
- 复制宝塔WebHook 提供的URL和密钥
- 在Gitee 仓库的 WebHook 中添加宝塔WebHook的 URL和密钥
五、一键部署,尽在掌握
完成所有配置后,不要忘记进行Git Push测试以验证自动化部署流程是否按预期工作
六、总结
通过“Git Push即部署”的方式,我们实现了VuePress项目的自动化部署,不仅提高了部署效率,还减少了人为错误的可能性。无论你是个人开发者还是团队负责人,都可以尝试使用这种高效便捷的部署方案来优化你的工作流程。
版权归原作者 CheckChen6 所有, 如有侵权,请联系我们删除。