• SVN自动更新


    前言 

    svn服务端与web服务必需在同一台服务器上;

    自动更新的大概原理:svn服务端监测到客户端提交操作后触发一个脚本,此脚本会把最新提交的内容更新到指定的目录(此目录必需关联同一仓库) ;

    svn服务端项目仓库下有个 hooks 目录,里面存放的是全部的钩子脚本的模板;

    post-commit.tmpl 为客户端 commit 提交后触发的模板;

     

    windows

    复制 hooks 目录下的 post-commit.tmpl 文件,修改文件名为 post-commit.bat 清除里面内容改为以下内容

    1. @echo off
    2. SET REPOS=%1
    3. SET REV=%2
    4. SET DIR=%REPOS%/hooks
    5. SET PATH=%PATH%;
    6. SET WORKING=F:/MuSiMp55
    7. svn update %WORKING% --username testuser --password 123456

    修改内容:

    WORKING  = web项目所在目录

    username = 用户

    password = 密码

     

    注意:以上方法必须把SVN服务器安装目录下的bin加入到系统环境变量path路径中,SVN通过setup进行安装,会默认添加,如果通过压缩包进行安装,必须要手动增加

    测试上面的 post-commit.bat 脚本,在cmd命令行里输入脚本所在路径回车

    C:\Users\admin>D:/SVN/Repositories/MuSiMp55/hooks/post-commit.bat

    出现以下信息则表明脚本成功执行

    1. C:\Users\admin>D:/SVN/Repositories/MuSiMp55/hooks/post-commit.bat
    2. 正在升级 ‘F:\test2′:
    3. 版本 15.

    项目关联 

    复制仓库地址,去存放web服务的目录打开 cmd 命令窗口 执行一次拉取操作

    svn co https://DESKTOP-0MD8889/svn/MuSiMp55/

    到此以后只要客户端通过 svn 提交操作,就会触发此脚本,自动同步web目录

    linux

    linux下原理跟windows是一样的,只是新建的文件名不一样

    在 SVN 项目版本库的存储目录下的 hooks 目录,新建一个 post-commit 文件

    vi post-commit

    增加以下代码:

    1. #!/bin/sh
    2. WEB=/www/wwwroot/test
    3. export LANG=en_US.UTF-8
    4. svn update $WEB --username testuser --password '123456'

    保存,退出。。

    给予此脚本的权限:

    chmod 777 post-commit

    测试一下,看脚本是否有权限问题

    ./post-commit

    项目关联 

    复制仓库地址,去web服务目录执行一次拉取操作

    svn checkout svn://localhost/test--username testuser --password 123456

    以后只要客户端通过 svn 提交操作,就会触发此脚本,自动同步web目录

    注:服务端web目录必须是同一仓库拉取下拉的项目

    详细参考:SVN 安装与使用_安装svn_木心操作的博客-CSDN博客

  • 相关阅读:
    Redis入门
    交互与前端18 CodeMirror 实践2
    前端文字垂直显示且两端对齐
    智能优化算法:广义正态分布优化算法-附代码
    JAVA 对象的创建与克隆
    html实训大作业《基于HTML+CSS+JavaScript红色文化传媒网站(20页)》
    Vue2 Element表格 将单列数据渲染为千分制
    YOLOX 学习笔记
    (65)MIPI DSI LLP介绍(五)
    HashMap源码阅读解惑
  • 原文地址:https://blog.csdn.net/qq_41579327/article/details/127910112