平时会使用md编写项目文档,直接将md文档展示给同事阅读时感觉不方便,文档内容做不到实时同步。经研究,可以使用i5ting_toc插件将md文档转换成html,并结合Jenkins将html发布到Nginx。
前置条件(Linux环境CentOS 8)
安装i5ting_toc
npm install -g i5ting_toc
进入项目目录(包含README.md文件),执行如下命令:
i5ting_toc -f 文件名.md -o
项目目录会生成一个preview
文件夹,css
和js
均包含在此处,点击README.html
查看。每次向别人展示最新文档时,都需要重新生成一次,再将preview
文件夹发送给别人,非常不方便。
结合Jenkins拉取项目git代码,执行i5ting_toc -f 文件名.md -o
命令,再将生成的preview
文件夹移动到Nginx下,直接访问文件地址,即可查看最新文档。
结合Jenkins
新建任务,输入任务名称,选择构建一个自由风格的软件项目
源码管理选择Git,Repository URL输入仓库地址,Credentials填写Git账号密码,默认拉取主干代码。
添加构建步骤,选择执行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
修改 $JENKINS_USER 值为 root
重启jenkins
systemctl restart jenkins.service
ps -ef|grep jenkins
会发现,此时已变成root身份运行jenkins
浏览器地址http://xxx.xxx.xxx.xxx/preview/README.html
访问,(xxx.xxx.xxx.xxx
服务器IP,如果本机输入localhost
)
md文件转成html,利用Jenkins将html发布到Nginx
原文:https://www.cnblogs.com/tahitimoon/p/15202602.html