svn钩子(hooks)自动部署代码到web目录

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/112853.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 使用adb安装apk命令格式

    使用adb安装apk命令格式adbinstall[-r][-s]-r表示重新安装APK包,-s表示将APK包安装到SD卡上adbinstall[-k]-k表示只删除应用程序,但保留该程序所用的数据和缓存目录

  • Maven 生成打包可执行jar包

    Maven 生成打包可执行jar包文章目录1.需求2.开发环境3.Maven打包插件介绍4.Maven使用maven-jar-plugin打可执行jar包5.Maven使用maven-assembly-plugin装需要打包的文件打进zip包6.Maven生成可执行jar包及zip项目压缩包7.执行jar包8.pom.xml配置9.package.xml文件最近IDEA打可执行Jar包搞了三天,一直失败,好好学…

  • StateMachine

    StateMachine

  • js字符串操作方法(js对象转字符串)

    一、关于字符串分割1、slice(start,end);关于这个方法,一定要搞懂四个关键点:(1)截取字符串时不包括下标为end的元素。(2)end是可选参数,没有时,默认从start到结束的所有字符串。(3)String.slice与Array.slice区别。(4)参数为负数时,是如何处理的。其中第3点其实就是在JavaScript中字符串和数组都具有这个方法,它们…

  • idea设置文件头注释_idea设置方法注释

    idea设置文件头注释_idea设置方法注释idea和eclipse的注释还是有一些差别的。idea:类头注释:打开file->setting->Editor->FilrandCodeTemplates->Includes->FileHeader直接在右边的文件框里编辑你说需要注释的东西,然后应用保存之后,当你创建类的时候就会自动生成注释。方法注释:打开file->setting->Editor->LiveTemplate

  • 【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理

    【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度。有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号