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配置示例如下,其中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实现文档自动化更新部署的更多相关文章
- Jenkins构建项目帮助文档
Jenkins构建项目帮助文档 主要步骤 一.配置jdk 1.1. 下载jdk,安装到自己电脑磁盘的Java目录下(比如:D:\Java\jdk). 1.2. Jdk环境变量的配置: 1. 鼠 ...
- 如何使用 VuePress 搭建一个 element-ui 风格的文档网站
如何使用 VuePress 搭建一个 element-ui 风格的文档网站 { "devDependencies": { "vuepress": "1 ...
- 使用jsdoc-toolkit实现JS API文档自动化
在前面的博文中探讨自动化工程问题时,写过基于NodeJS的,使用gulp.grunt的jsdoc插件实现文档自动化.本文探讨基于java环境的自动化实现. 一.Java安装与环境配置 关于Java的安 ...
- 通过beego快速创建一个Restful风格API项目及API文档自动化
通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界 ...
- 通过beego快速创建一个Restful风格API项目及API文档自动化(转)
通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界 ...
- Jenkins +svn +maven +tomcat+ ansible 自动化批量部署
Jenkins +svn +maven +tomcat+ ansible 自动化批量部署 一.部署svn yum install subversion 先创建目录 mkdir /home/svn 创建 ...
- es之对文档进行更新操作
5.7.1:更新整个文档 ES中并不存在所谓的更新操作,而是用新文档替换旧文档: 在内部,Elasticsearch已经标记旧文档为删除并添加了一个完整的新文档并建立索引.旧版本文档不会立即消失 ,但 ...
- Web 前端 UI 组件库文档自动化方案 All In One
Web 前端 UI 组件库文档自动化方案 All In One 需求 自动化 动态 好用 markdown element-ui 中示例和说明按照一定规则写在md文件中,调用md-loader将md文 ...
- 推荐一个vuepress模板,一键快速搭建文档站
介绍 vuepress-template是一个简单的VuePress案例模板,目的是让用户可以直接clone这个仓库,作为初始化一个VuePress网站启动项目,然后在这个项目的基础上新增自定义配置和 ...
- Jenkins Hackfest 用户体验文档报告
Jenkins 技术文档是我们项目的重要组成部分,因为它是正确使用 Jenkins 的关键.好的文档可以指导用户,并鼓励选择好的实现方式.这是用户体验的关键部分.在最近的 Jenkins UI/UX ...
随机推荐
- MySQL 高级(进阶) SQL 语句
MySQL 高级(进阶) SQL 语句 use gy; create table location (Region char(20),Store_Name char(20)); insert into ...
- NFC and Contactless Technologies
NFC and Contactless Technologies NFC与无接触技术 NFC technology enables simple and safe two-way interactio ...
- Speex详解(2019年09月25日更新)
Speex详解 整理者:赤勇玄心行天道 QQ号:280604597 微信号:qq280604597 QQ群:511046632 博客:www.cnblogs.com/gaoyaguo 大家有什么不明白 ...
- 洛谷P3612(递归)
题目描述 The cows are experimenting with secret codes, and have devised a method for creating an infinit ...
- Redis7新特性简介及十大数据类型
Redis是基于内存的K-V键值对内存数据库 浅谈Redis7新特性 主要是自身底层性能和资源利用率上的提高和优化. 多AOF文件支持 config命令增强 限制客户端内存使用 listpack紧凑列 ...
- Web Woeker和Shared Worker的使用以及案例
目录 1.前言 2.介绍 Web Worker 3.使用须知及兼容性 3.1.使用须知 3.2.兼容性 4.使用 Web Worker 4.1.创建 Web Worker 4.2.与主线程通信 4.3 ...
- 【Vue3响应式原理#02】Proxy and Reflect
专栏分享:vue2源码专栏,vue3源码专栏,vue router源码专栏,玩具项目专栏,硬核推荐 欢迎各位ITer关注点赞收藏 背景 以下是柏成根据Vue3官方课程整理的响应式书面文档 - 第二节, ...
- 从GPT定制到Turbo升级再到Assistants API,未来AI世界,你准备好了吗?
引言 在OpenAI DevDay发布会上,OpenAI再次震撼整个人工智能行业,为AI领域带来了重大的更新.CEO Sam Altman宣布推出了定制版本的ChatGPT,这意味着用户现在可以根据自 ...
- [编程]UML语言:理论之光与实践之惑
UML介绍及现状 UML(统一建模语言)是软件工程领域中具有悠久历史的一种模型化语言工具.它通过标准化的图形符号体系,使得软件系统的蓝图能够被更直观地表达出来.UML诞生于20世纪90年代,经过多年积 ...
- ABAP 标准程序选择屏增强 文本显示异常问题处理 MB52 示例 INITIALIZATION. "变量参数:%_ + 屏幕选择字段变量 + _%_APP_%-TEXT %_SSKH_%_APP_%-TEXT = '所属客户'.
数据筛选 文本 INITIALIZATION. "变量参数:%_ + 屏幕选择字段变量 + _%_APP_%-TEXT %_SSKH_%_APP_%-TEXT = '所属客户'.