vuepress借助jenkins和svn实现文档自动化更新部署
前言
有個(gè)需求,需要將放在SVN的用vuepress寫(xiě)的文檔進(jìn)行自動(dòng)化更新和部署,每次有人在本地將寫(xiě)好的md文件更新到svn時(shí)候,由jenkins實(shí)現(xiàn)自動(dòng)打包來(lái)實(shí)現(xiàn)自動(dòng)更新的功能。
docker安裝jenkins
首先創(chuàng)建目錄,將jenkins_home掛載到外部
mkdir /home/jenkins_home
chmod 777 /home/jenkins_home
運(yùn)行docker命令,這里安裝新版的jenkins,加后綴jdk11,服務(wù)器不需要有jdk11環(huán)境,由容器解決環(huán)境問(wèn)題。
docker run -u root -it --name jenkins -p 8080:8080 -p 50000:50000 -v /home/jenkins_home:/var/jenkins_home -d jenkins/jenkins:jdk11
配置Jenkins
打開(kāi)地址ip:8080,會(huì)要求輸入密鑰,到/home/jenkins_home/secrets/initialAdminPassword查看相關(guān)密碼,輸入即可。
然后填寫(xiě)賬戶(hù)密碼,進(jìn)入主頁(yè)面。點(diǎn)擊系統(tǒng)管理,再進(jìn)入插件管理
選擇available plugins,并輸入nodejs和subversion分別進(jìn)行安裝
回到主頁(yè)面,再點(diǎn)擊全局工具配置
nodejs這里選擇合適的版本,點(diǎn)保存
回到主頁(yè)面點(diǎn)擊新建任務(wù),選擇構(gòu)建*風(fēng)格的軟件項(xiàng)目
源碼管理選擇subversion,輸入項(xiàng)目地址和credentials里面輸入賬戶(hù)密碼
構(gòu)建觸發(fā)器選擇輪詢(xún)SCM,這里表示每5分鐘輪詢(xún)一次,當(dāng)SVN的版本號(hào)發(fā)生改變,即內(nèi)容有更新就進(jìn)行部署
H/5 * * * *
構(gòu)建環(huán)境配置如下:
然后在Build Steps選項(xiàng),輸入:
chmod 777 node_modules/.bin/vuepress
npm run docs:build
不知道為什么,不加chmod命令就會(huì)出現(xiàn)下面的錯(cuò)誤,加上去就能解決這個(gè)問(wèn)題
然后點(diǎn)擊保存。
回到上一頁(yè)點(diǎn)擊立即構(gòu)建,jenkins會(huì)去svn拉取代碼進(jìn)行部署
部署結(jié)果:
后續(xù)會(huì)通過(guò)輪詢(xún)判斷是否需要進(jìn)行重部署。這里只需要將Nginx的靜態(tài)資源指向jenkins打包后的文件地址即可。
Nginx配置
Nginx配置示例如下,其中jenkins_home/workspace是項(xiàng)目的工作空間,存放項(xiàng)目和編譯后的文件。
server {
listen 8182;
server_name localhost;
location /doc {
alias /home/jenkins_home/workspace/test/docs/.vuepress/dist/;
index index.html;
try_files $uri $uri/ CLTServer/index.html;
}
}
總結(jié)
以上是生活随笔為你收集整理的vuepress借助jenkins和svn实现文档自动化更新部署的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 限流大法:令牌桶算法
- 下一篇: HTTP安全头部对jsp页面不生效