「文檔服務(wù)搭建」使用 GitLab、Jenkins搭建基于 Docsify 的內(nèi)網(wǎng)文檔管理平臺(tái)

目的

搭建公司內(nèi)部文檔管理平臺(tái),修改完畢后推送至遠(yuǎn)端自動(dòng)刷新

依賴環(huán)境

Docsify、GitLab、Jenkins

版本無(wú)要求

運(yùn)行環(huán)境

CentOS Linux release 7.3.1611

依賴環(huán)境

如本地已安裝需要的依賴環(huán)境,可直接略過(guò)該部分。

GitLab

介紹

GitLab是一個(gè)開(kāi)源的Git倉(cāng)庫(kù)管理工具。

使用官網(wǎng)提供的安裝方式,可以在公司內(nèi)網(wǎng)上搭建私人的Git平臺(tái)。

官網(wǎng)地址

初始化

打開(kāi)系統(tǒng)防火墻 HTTP 和 SSH 訪問(wèn)權(quán)限
sudo yum install -y curl policycoreutils-python openssh-server cronie
sudo lokkit -s http -s ssh
安裝郵件代理服務(wù)
sudo yum install postfix
sudo service postfix start
sudo chkconfig postfix on
添加GitLab倉(cāng)庫(kù)并安裝
curl -sS http://packages.gitlab.com.cn/install/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce
啟動(dòng)服務(wù)
sudo gitlab-ctl reconfigure
通過(guò)域名訪問(wèn)

第一次訪問(wèn) GitLab,需要輸入初始化管理員賬號(hào)的密碼,系統(tǒng)默認(rèn)的管理員賬號(hào)為 root。

創(chuàng)建項(xiàng)目

新建Project
image-20181106114905907
image-20181106114937063
生成本機(jī)秘鑰文件
image-20181106114416786
添加SSH Key
image-20181106114824567
Clone到本地
image-20181106115509558
git clone http://10.10.13.28/konghaorui/my-docs.git

Docsify

介紹

一個(gè)神奇的文檔網(wǎng)站生成工具

官網(wǎng)地址

樣式預(yù)覽
image-20181106101916682
image-20181106101936176

初始化

安裝腳手架工具(本機(jī)、服務(wù)器都需安裝)
npm i docsify-cli -g
生成項(xiàng)目

進(jìn)入Clone下來(lái)的項(xiàng)目目錄,初始化文檔工程

cd my-docs
docsify init ./docs
本地預(yù)覽
docsify serve docs

Jenkins

介紹

Jenkins是一個(gè)開(kāi)源的、提供友好操作界面的持續(xù)集成工具

主要用于持續(xù)、自動(dòng)構(gòu)建項(xiàng)目、測(cè)試軟件工程、監(jiān)控外部任務(wù)的運(yùn)行

官網(wǎng)地址

初始化

因?yàn)榉?wù)器上已有tomcat服務(wù)在運(yùn)行,所以此處使用直接掛載Jenkins到tomcat服務(wù)下的方式,相對(duì)比較簡(jiǎn)潔。如沒(méi)有tomcat服務(wù)可以選擇其他方式進(jìn)行搭建。

下載war包

進(jìn)入下載頁(yè)面,選擇對(duì)應(yīng)版本安裝包

image-20181106141611995
放置war包

將下載好的war包放置到tomcat安裝目錄,webapps文件夾下

image-20181106142110320
啟動(dòng)tomcat
cd bin
sh startup.sh

啟動(dòng)完畢后,訪問(wèn) http://localhost:8080/jenkins 即可看到Jenkins頁(yè)面

首次啟動(dòng)需要輸入初始密碼,密碼信息在標(biāo)記的文件位置查看

image-20181106142457633

注冊(cè)完新用戶再次進(jìn)入就可以看到Jenkins首頁(yè)了

image-20181106142655453

自動(dòng)部署

在上面基本的環(huán)境都已經(jīng)搭建成功,現(xiàn)在做的就是實(shí)現(xiàn)文檔自動(dòng)部署功能,使git項(xiàng)目能夠和docsify相關(guān)聯(lián)。

配置Jenkins

  • 打開(kāi)jenkins頁(yè)面

  • 添加插件:系統(tǒng)管理 - 插件管理

  • 需要添加的插件:Post Build Task、Gitlab Hook、Gitlab

  • 安裝后重啟Jenkins

創(chuàng)建任務(wù)
image-20181106144202434
添加源碼管理

填寫(xiě)git倉(cāng)庫(kù)地址,添加用戶,選擇默認(rèn)獲取分支

image-20181106144520612
設(shè)置構(gòu)建觸發(fā)器
image-20181106145526720
設(shè)置構(gòu)建后操作,自動(dòng)啟動(dòng)docsify服務(wù)
image-20181106145715343
image-20181106145747153

設(shè)置自動(dòng)啟動(dòng)docsify腳本

image-20181106145932345
git pull origin master
#判斷進(jìn)程是否存在,如果不存在就啟動(dòng)它
PIDS=`ps -ef |grep docsify |grep -v grep | awk '{print $2}'`
if [ "$PIDS" != "" ]; then
echo "docsify is runing!"
else
#運(yùn)行進(jìn)程
echo "starting docsify!"
docsify serve docs --port 4921 &
fi
保存配置

配置GitLab

設(shè)置webhook,當(dāng)有提交時(shí)自動(dòng)觸發(fā)Jenkins任務(wù)

image-20181106150537152
image-20181106151039402

可點(diǎn)擊test按鈕模擬推送事件

image-20181106151321564

如出現(xiàn)200提示,說(shuō)明任務(wù)觸發(fā)成功

image-20181106152120100

查看Jenkins任務(wù)是否執(zhí)行

image-20181106152214123

測(cè)試

修改任意文件內(nèi)容后推送至遠(yuǎn)端,訪問(wèn) http://服務(wù)器地址:4921 查看文檔是否改變

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容