目的
搭建公司内部文档管理平台,修改完毕后推送至远端自动刷新
依赖环境
Docsify
、GitLab
、Jenkins
版本无要求
运行环境
CentOS Linux release 7.3.1611
依赖环境
如本地已安装需要的依赖环境,可直接略过该部分。
GitLab
介绍
GitLab是一个开源的Git仓库管理工具。
使用官网提供的安装方式,可以在公司内网上搭建私人的Git平台。
初始化
打开系统防火墙 HTTP 和 SSH 访问权限
sudo yum install -y curl policycoreutils-python openssh-server cronie
sudo lokkit -s http -s ssh
安装邮件代理服务
sudo yum install postfix
sudo service postfix start
sudo chkconfig postfix on
添加GitLab仓库并安装
curl -sS http://packages.gitlab.com.cn/install/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce
启动服务
sudo gitlab-ctl reconfigure
通过域名访问
第一次访问 GitLab,需要输入初始化管理员账号的密码,系统默认的管理员账号为 root。
创建项目
新建Project
生成本机秘钥文件
添加SSH Key
Clone到本地
git clone http://10.10.13.28/konghaorui/my-docs.git
Docsify
介绍
一个神奇的文档网站生成工具
样式预览
初始化
安装脚手架工具(本机、服务器都需安装)
npm i docsify-cli -g
生成项目
进入Clone下来的项目目录,初始化文档工程
cd my-docs
docsify init ./docs
本地预览
docsify serve docs
Jenkins
介绍
Jenkins是一个开源的、提供友好操作界面的持续集成工具
主要用于持续、自动构建项目、测试软件工程、监控外部任务的运行
初始化
因为服务器上已有tomcat服务在运行,所以此处使用直接挂载Jenkins到tomcat服务下的方式,相对比较简洁。如没有tomcat服务可以选择其他方式进行搭建。
下载war包
进入下载页面,选择对应版本安装包
放置war包
将下载好的war包放置到tomcat安装目录,webapps文件夹下
启动tomcat
cd bin
sh startup.sh
启动完毕后,访问 http://localhost:8080/jenkins 即可看到Jenkins页面
首次启动需要输入初始密码,密码信息在标记的文件位置查看
注册完新用户再次进入就可以看到Jenkins首页了
自动部署
在上面基本的环境都已经搭建成功,现在做的就是实现文档自动部署功能,使git项目能够和docsify相关联。
配置Jenkins
打开jenkins页面
添加插件:系统管理 - 插件管理
需要添加的插件:Post Build Task、Gitlab Hook、Gitlab
安装后重启Jenkins
创建任务
添加源码管理
填写git仓库地址,添加用户,选择默认获取分支
设置构建触发器
设置构建后操作,自动启动docsify服务
设置自动启动docsify脚本
git pull origin master
#判断进程是否存在,如果不存在就启动它
PIDS=`ps -ef |grep docsify |grep -v grep | awk '{print $2}'`
if [ "$PIDS" != "" ]; then
echo "docsify is runing!"
else
#运行进程
echo "starting docsify!"
docsify serve docs --port 4921 &
fi
保存配置
配置GitLab
设置webhook,当有提交时自动触发Jenkins任务
可点击test按钮模拟推送事件
如出现200提示,说明任务触发成功
查看Jenkins任务是否执行
测试
修改任意文件内容后推送至远端,访问 http://服务器地址:4921 查看文档是否改变