大众好,我是小义,之前在介绍搭建个人博客网站的时候说过能够基于github安排博客,乃至是搭建图床,但终归是不安全,一不小心被攻击还有可能使自己账号被封。
因此后续就慢慢把网站搬到腾讯云服务器上去了,静态框架用vuepress代替了docsify,照片亦存放在了阿里的OSS中。
vuePress
相比起docsify,vuepress拥有以下优点:
1、生成的是预渲染的静态HTML,这针对搜索引擎优化(seo)非常友好。
2、准许在Markdown文件中直接运用Vue组件,在创建繁杂的文档和布局上灵活性更高。
感兴趣的朋友能够查阅vuepress官网:https://theme-hope.vuejs.press/zh/
宝塔面板
网站搬家之后问题亦随之而来,之前在github上经过pages是能够容易实现一键提交代码自动化安排的。
此刻就稍微麻烦了些,在网上查询了资料后发掘,只需要利用宝塔面板和git配置,一样能够实此刻本地的vuepress项目git push提交代码后,自动更新安排博客网站,下面进入正题。
宝塔面板是一款强大的服务器管理软件,具备可视化操作界面,能够极重地简化服务器的配置与管理过程。大众在选取服务器的时候能够直接选取腾讯云轻量级应用服务器中的宝塔linux面板这一应用模板,亦能够在服务器上经过命令自动安装。
在宝塔面板中新建网站时,Nginx就会做为默认的Web服务器(建站过程这儿不太多介绍)。同期由于要拉取最新代码和打包,因此还需要在服务器上安装git、npm等工具。
WebHook
为实现自动化,在宝塔面板的软件商店搜索WebHook进行安装,它能够在代码仓库出现变动时自动安排更新服务。
点击设置,在WebHook中添加下面的代码安排脚本。 # 安排脚本#!/bin/bashecho ""#输出当前时间date --date=0 days ago "+%Y-%m-%d %H:%M:%S"echo "Start"#git分支名叫作branch="master"#git项目存放路径(重视开放文件权限)gitPath="/home/gitee/doc"#git仓库位置gitHttp="https://gitee.com/xxx.git"echo "Web站点路径:$gitPath"#判断项目路径是不是存在if [ -d "$gitPath" ]; thencd $gitPath#判断是不是存在.git目录if [ ! -d ".git" ]; thenecho "在该目录下克隆 git"sudo git clone $gitHttp
gittemp
sudo mv gittemp/.git ./
sudo rm -rf gittemp fiecho "拉取最新的项目文件"git remote add origin $gitHttpgit branch --set-upstream-to=origin/$branch $branchsudo git reset --hard origin/$branchsudo git pull $gitHttp
2>&1 echo "设置目录权限"sudo chown -R www:www $gitPathsudo chmod -R 755 $gitPathecho "代码拉取结束"echo "安装依赖中......"
sudo cnpm install if [ $? -eq 0 ]; then echo "等待打包中......"
sudo cnpm run docs:build fiif [ $? -eq 0 ]; then echo "等待压缩中......" cd
/home/gitee/doc/src/.vuepress/
sudo zip -r dist.zip dist/ && sudo unzip -o dist.zip -d /www/wwwroot/
sudo cp -a /www/wwwroot/dist/. /www/wwwroot/cxy echo "成功了"fielse echo "docs:build 执行失败"fiexitelseecho "该项目路径不存在"echo "新建项目目录"exitfi
其中/www/wwwroot/cxy即为建站时的静态资源存放路径。有时候脚本执行报错,最好是一步步进行验证,小义碰到的大大都是文件权限问题。
Gitee仓库配置
1.在服务器上生成 SSH 公共密钥,然后添加到gitee该项目的公钥管理中。 # 生成 SSH 密钥, 一路回车
ssh-keygen -t rsa # 查看 SSH 公钥
cat ~/.ssh/id_rsa.pub
2.WebHook中添加宝塔WebHook的URL和密钥。
最后
完成以上所有配置,就能够容易实现一键提交代码自动安排了,赶紧动手试一试吧。
|