美文网首页
博客自动化部署

博客自动化部署

作者: 红兔哥 | 来源:发表于2021-05-12 19:16 被阅读0次

    经过部署自己的静态博客页面,我们已经可以发表文章到博客系统了,但是每次都需要编译、打包文件上传到云服务器,相同的流程能使用工具完成时最好的,接下来就结合git版本管理工具实现自动化部署流程,后续我们的操作就只有上传MD文件博客页面就能自动更新

    1、选择版本管理工具


    这里我们直接使用码云 ,速度相对较快,大家懂得,直接创建代码仓库将我们的博客代码push到远端,但是需要注意需忽略文件,如果使用idea可以下载.gitignore插件:

    .idea
    *.iml
    node_modules
    out
    db.json
    

    其中out是打包输出路径,可以从项目根目录_config.yml进行调整,db.json需要忽略,避免部署时产生冲突

    2、云服务器安装运行环境

    • git下载 下载安装,或者通过yum进行安装
      第一种:yum install git
      第二种:将下载后的二进制文件包解压,设置环境变量,可自行百度
      
      下载安装完成后查看版本
      git -version
      
    • node下载 根据需要下载对应版本,本文下载Linux 二进制文件 (x64)
      解压压缩包
      tar -xvf node-v14.16.1-linux-x64.tar.xz
      重命名文件名
      mv node-v14.16.1-linux-x64 node14
      创建软连接,设置环境变量
      ln -s node14/bin/node /usr/bin/node
      查看版本
      node -v
      npm -v
      

    3、拉取代码并安装Hexo

    • 拉取代码并手动部署
      拉取远程代码
      git clone https://gitee.com/代码仓库地址
      初始化node依赖包 
      npm install
      安装cnpm
      npm install -g cnpm --registry=https://registry.npm.taobao.org
      通过cnpm安装hexo
      cnpm install -g hexo-cli
      创建hexo软链,设置全局环境变量
      ln -s /export/app/kayla-blog/node_modules/hexo-cli/bin/hexo /usr/bin/hexo
      编译生成静态文件
      hexo g
      
    • 设置用户名密码
      直接修改项目目录下.git/config,最后添加如下内容
      [credential]
            helper = store
      

    4、创建自动化脚本

    如果以上步骤正常接下来就比较简单了,通过linux的cron定时执行脚本任务触发拉取最新博客内容和编译静态文件

    • 创建cron任务
      查看当前任务列表
      crontab -l
      编辑创建任务
      crontab -e
      表达式调用,每三分钟执行一次,执行hexo-g.sh结果写入hexo.out,注意:必须添加 2>&1 
      */3 * * * * /export/app/hexo-g.sh >> /export/app/hexo.out 2>&1
      
    • 脚本内容hexo-g.sh
      #!/bin/bash
      source /etc/profile
      source ~/.bashrc
      
      echo  "开始自动编译,当前时间:$(date "+%Y-%m-%d %H:%M:%S")"
      cd /export/app/blog
      
      echo "开始拉取gitee代码"
      git pull
      echo "代码拉取完成"
      
      echo "开始编译生成静态文件->out"
      hexo g
      echo "完成"
      
    • 测试结果
      可能部署过程中会遇到一些坑,解决有困难的同学可以放到评论区,大家一起解决,相互交流学习
      开始自动编译,当前时间:2021-05-04 07:51:01
      开始拉取gitee代码
      From https://gitee.com/xxx/blog
      1ecc028..980f12b  master     -> origin/master
      Updating 1ecc028..980f12b
      Fast-forward
      ...215\232\345\256\242\347\275\221\347\253\231.md" | 66 +++++++++++++---------
      1 file changed, 38 insertions(+), 28 deletions(-)
      代码拉取完成
      开始编译生成静态文件->out
      INFO  Validating config
      INFO  Start processing
      INFO  Files loaded in 270 ms
      INFO  Generated: 2021/05/03/从头搭建我的博客网站/index.html
      INFO  1 files generated in 76 ms
      完成
      

    5、发布博客到各大内容网站

    自己的博客被更多的人看到并应用才能真正体现它的价值,可以将Markdown格式的博客信息放到 博客园、CSDN、掘金等内容网站

    相关文章

      网友评论

          本文标题:博客自动化部署

          本文链接:https://www.haomeiwen.com/subject/ropwdltx.html