• 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分别进行安装

    image-20240110195130439

    image-20240110195237069

    image-20240110195245536

    回到主页面,再点击全局工具配置

    image-20240110195348015

    nodejs这里选择合适的版本,点保存

    image-20240110195422090

    回到主页面点击新建任务,选择构建自由风格的软件项目

    image-20240110195603523

    源码管理选择subversion,输入项目地址和credentials里面输入账户密码

    构建触发器选择轮询SCM,这里表示每5分钟轮询一次,当SVN的版本号发生改变,即内容有更新就进行部署

    H/5 * * * *  
    

    image-20240110195823428

    构建环境配置如下:

    image-20240110195844633

    然后在Build Steps选项,输入:

    chmod 777 node_modules/.bin/vuepress
    npm run docs:build
    

    image-20240110195913737

    不知道为什么,不加chmod命令就会出现下面的错误,加上去就能解决这个问题

    image-20240110162058612

    然后点击保存。

    回到上一页点击立即构建,jenkins会去svn拉取代码进行部署

    image-20240110200017815

    部署结果:

    image-20240110200058163

    后续会通过轮询判断是否需要进行重部署。这里只需要将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;
        }
    
    }
    
  • 相关阅读:
    OSError: [WinError 1455] 页面文件太小,无法完成操作 报错解决
    计算字符在字符串中出现的次数
    天空飞鸟 数据集
    【taro react】---- 微信小程序 通过 Jenkins 实现自动化部署
    微服务拆分
    Go编程规范
    MCSM面板搭建教程和我的世界Paper服务器开服教程
    腾讯云部署----DevOps
    换掉 Postman + Swagger + JMeter,这4个 Java 项目绝了
    python实现矩阵转置
  • 原文地址:https://www.cnblogs.com/Johnyzh/p/17957240