zoukankan      html  css  js  c++  java
  • svn钩子(hooks)自动部署代码到web目录

     
    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/li956732806/article/details/71158869
     

    web目录:/hoem/www/project
    svn版本库目录:/svn/project

    1.cd /svn/project/hooks
    目录下
    2.新建post-commit,执行vim post-commit 内容如下

    #!/bin/sh
    REPOS="$1"
    REV="$2"
    DIR="/home/www/project"
    export LANG=en_US.UTF-8
    CURDATE='date'
    echo "Code Deployed By at $CURDATE,$REPOS,$REV" >> /svn/code_deploy.log
    svn update $DIR --username admin --password 123456
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    接着

    chmod +x post-commit
    • 1

    3.到/home/www下checkout项目

    svn checkout svn://127.0.0.1/project/
    • 1

    到此步骤接受,在客服端提交代码更新就会自动同步到web目录了。
    附上svn钩子类型
    服务器钩子:
    svn服务端有9种钩子,分别是:
    A.关于锁定的2种
    a1.pre-lock
    对文件进行加锁操作之前执行该脚本
    a2.post-lock
    对文件进行加锁操作之后执行该脚本

    B.关于解锁的2种
    b1.pre-unlock
    对文件进行解锁操作之前执行该脚本
    b2.post-unlock
    对文件进行解锁操作之后执行该脚本

    C.关于提交的3种

    c1.start-commit
    在客户端还没有向服务器提交数据之前,即还没有建立 Subversion transaction(缩写为 txn) 之前,执行执行该脚本
    c2.pre-commit
    在 Subversion transaction 完毕之后,在提交之前,执行该脚本

    c3.post-commit
    在提交完成,成功创建版本之后执行该钩子,提交已经完成,不可更改,因此本脚本的返回值被忽略。

    D.关于属性的2种

    d1.pre-revprop-change
    在修改 revision 属性之前,执行该脚本

    d2.post-revprop-change
    在修改 revision 属性之后,执行该脚本。因为修改稿已经完成,不可更改,因此本脚本的返回值被忽略(不过实际上的实现似乎是该脚本的正确执行与否影响属性修改)

    客户端钩子:
    tortoise svn客户端有6中钩子,分别是:
    A.关于提交的

    a1.start commit hook

    a2.pre-commit hook

    a3.post-commit hook

    B.关于更新的

    b1.start update hook

    b2.pre-update hook

    b3.post-update hook

  • 相关阅读:
    The Python Standard Library
    Python 中的round函数
    Python文件类型
    Python中import的用法
    Python Symbols 各种符号
    python 一行写多个语句
    免费SSL证书(https网站)申请,便宜SSL https证书申请
    元宇宙游戏Axie龙头axs分析
    OLE DB provider "SQLNCLI10" for linked server "x.x.x.x" returned message "No transaction is active.".
    The operation could not be performed because OLE DB provider "SQLNCLI10" for linked server "xxx.xxx.xxx.xxx" was unable to begin a distributed transaction.
  • 原文地址:https://www.cnblogs.com/lxwphp/p/9755718.html
Copyright © 2011-2022 走看看