今天给大家演示下如何基于Vuepress尝试持续交付博客网站。
 也尝试过其他的方案,比如使用Typora导出html文件,并scp该文件到服务器上。
效果图

该持续交付主流程如下图
 
 提交代码后会触发webHook生成version.txt,部署脚本每分钟轮询一次检测是否存在version.txt,如果存在就触发构建并部署。
代码获取方法
git clone https://gitee.com/PatrickW/patrick-notes.git
代码目录结构
 
制定任务
每隔1分钟执行一次部署脚本
1 * * * * sh /root/deploy_blog.sh > /root/log_deploy_blog.log
部署脚本
function deploy(){
    cd /root/blog/patrick-notes \
    && git pull origin master \
    && source ~/.nvm/nvm.sh \
    && nvm use v14.17.5 \
    && npm run build \
    && cp -rf docs/.vuepress/dist/* /root/api/conf/static
}
file="/root/api/conf/version.txt"
tag=$1 # skip version.txt
echo $tag
if [ -f "$file" ] || [ "$tag" == "1" ]; then
    deploy
    rm -rf $file
else
    echo "not find version file"
fi



















