md文件转成html,利用Jenkins将html发布到Nginx

前言

平时会使用md编写项目文档,直接将md文档展示给同事阅读时感觉不方便,文档内容做不到实时同步。经研究,可以使用i5ting_toc插件将md文档转换成html,并结合Jenkins将html发布到Nginx。

安装

  • 前置条件(Linux环境CentOS 8)

    Node.js

    Jenkins

    Git

    Nginx

  • 安装i5ting_toc

    npm install -g i5ting_toc
    
  • 进入项目目录(包含README.md文件),执行如下命令:

    i5ting_toc -f 文件名.md -o
    

    md文件转成html,利用Jenkins将html发布到Nginx

  • 项目目录会生成一个preview文件夹,cssjs均包含在此处,点击README.html查看。每次向别人展示最新文档时,都需要重新生成一次,再将preview文件夹发送给别人,非常不方便。

    md文件转成html,利用Jenkins将html发布到Nginx

  • 结合Jenkins拉取项目git代码,执行i5ting_toc -f 文件名.md -o命令,再将生成的preview文件夹移动到Nginx下,直接访问文件地址,即可查看最新文档。

    结合Jenkins

    1. 新建任务,输入任务名称,选择构建一个*风格的软件项目

      md文件转成html,利用Jenkins将html发布到Nginx

    2. 源码管理选择Git,Repository URL输入仓库地址,Credentials填写Git账号密码,默认拉取主干代码。

      md文件转成html,利用Jenkins将html发布到Nginx

    3. 添加构建步骤,选择执行shell,保存构建即可,test_scene_tool会根据Jenkins任务名称命名。

      source ~/.bash_profile
      i5ting_toc -f README.md -o
      mv /var/lib/jenkins/workspace/test_scene_tool/preview /usr/share/nginx/html
      

      Jenkins执行shell命令会提示:command not found,这是因为Jenkins执行shell时无法获取环境变量,所以必须在shell脚本上加上环境变量如下:

      #!/bin/bash
      source ~/.bash_profile
      source /etc/profile
      

      按上述修改还会报command not found,CentOS8 以yum方式安装rpm版本jenkins,默认jenkins用户为jenkins 而不是root

      解决方案:

      • 打开配置文件
      vim /etc/sysconfig/jenkins
      

      md文件转成html,利用Jenkins将html发布到Nginx

      • 修改 $JENKINS_USER 值为 root

      • 重启jenkins

        systemctl restart jenkins.service
        

        ps -ef|grep jenkins 会发现,此时已变成root身份运行jenkins

        md文件转成html,利用Jenkins将html发布到Nginx

    4. 浏览器地址http://xxx.xxx.xxx.xxx/preview/README.html访问,(xxx.xxx.xxx.xxx服务器IP,如果本机输入localhost

md文件转成html,利用Jenkins将html发布到Nginx

上一篇:.Net中特殊项目类型详解


下一篇:Gin获取json数据