vuepress借助jenkins和svn实现文档自动化更新部署
前言
有個需求,需要將放在SVN的用vuepress寫的文檔進行自動化更新和部署,每次有人在本地將寫好的md文件更新到svn時候,由jenkins實現自動打包來實現自動更新的功能。
docker安裝jenkins
首先創建目錄,將jenkins_home掛載到外部
mkdir /home/jenkins_home
chmod 777 /home/jenkins_home
運行docker命令,這里安裝新版的jenkins,加后綴jdk11,服務器不需要有jdk11環境,由容器解決環境問題。
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
打開地址ip:8080,會要求輸入密鑰,到/home/jenkins_home/secrets/initialAdminPassword查看相關密碼,輸入即可。
然后填寫賬戶密碼,進入主頁面。點擊系統管理,再進入插件管理
選擇available plugins,并輸入nodejs和subversion分別進行安裝
回到主頁面,再點擊全局工具配置
nodejs這里選擇合適的版本,點保存
回到主頁面點擊新建任務,選擇構建*風格的軟件項目
源碼管理選擇subversion,輸入項目地址和credentials里面輸入賬戶密碼
構建觸發器選擇輪詢SCM,這里表示每5分鐘輪詢一次,當SVN的版本號發生改變,即內容有更新就進行部署
H/5 * * * *
構建環境配置如下:
然后在Build Steps選項,輸入:
chmod 777 node_modules/.bin/vuepress
npm run docs:build
不知道為什么,不加chmod命令就會出現下面的錯誤,加上去就能解決這個問題
然后點擊保存。
回到上一頁點擊立即構建,jenkins會去svn拉取代碼進行部署
部署結果:
后續會通過輪詢判斷是否需要進行重部署。這里只需要將Nginx的靜態資源指向jenkins打包后的文件地址即可。
Nginx配置
Nginx配置示例如下,其中jenkins_home/workspace是項目的工作空間,存放項目和編譯后的文件。
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;
}
}
總結
以上是生活随笔為你收集整理的vuepress借助jenkins和svn实现文档自动化更新部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 限流大法:令牌桶算法
- 下一篇: 直接在*.vue文件(SFC)中使用JS