-
-
technoart
2019-02-14
修改钩子脚本可执行
-
截图
0赞 · 0采集
-
-
technoart
2019-02-14
保存每次提交的信息
-
截图
0赞 · 0采集
-
-
technoart
2019-02-14
启用钩子文件
-
截图
0赞 · 0采集
-
-
technoart
2019-02-14
钩子的概念
-
截图
0赞 · 0采集
-
-
technoart
2019-02-14
SVN钩子应用
-
截图
0赞 · 0采集
-
-
慕前端9898285
2018-06-05
hooks钩子应用
-
截图
0赞 · 0采集
-
-
大春子
2018-05-11

-
0赞 · 0采集
-
-
大春子
2018-05-11
就是预设技好的一个轨道
-
0赞 · 0采集
-
-
白乙
2017-12-31
- 如果按照预先的效果,在阿帕奇的默认目录下,应该会有一个 repo.xml 刷新一下就出现了,说明钩子的配置已经成功了。这样,每个svn用户在执行提交操作之后,都会自动生成一个 xml 文件,我们就可以通过浏览器来访问阿帕奇,来查看最新的版本库信息。
钩子的能力是无限大的,只要会写shell脚本,想弄什么功能都可以。甚至是跨软件的操作,钩子使用好了,整个svn就会变得强大。
-
截图
0赞 · 0采集
-
-
白乙
2017-12-31
- 修改了之后再给它提交上去 svn ci -m " "
-
截图
0赞 · 0采集
-
-
白乙
2017-12-31
- 随便在这里插入一个 testhello
-
截图
0赞 · 0采集
-
-
白乙
2017-12-31
- 现在到 imooc版本库的工作副本里面,切换到用户目录下的imooc cd -/imooc/
改一下主干版本的 index.html
cd trunk
vim index.html
-
截图
0赞 · 0采集
-
-
白乙
2017-12-31
- 然后现在可以先使用浏览器来访问这台服务器的阿帕奇
我们可以发现,在这台服务器的阿帕奇默认目录下,什么文件都没有,
-
截图
0赞 · 0采集
-
-
白乙
2017-12-31
- 要让这个钩子生效,我们还需要重启一下 svn 的服务,重启服务就是首先把 svn 的进程给它 kill 掉 killall svnserve
然后再重新启动 svnserve -d -r /svnroot/
-
截图
0赞 · 0采集
-
-
白乙
2017-12-31
- 在这台服务器上装了一个阿帕奇,比如说现在想要实现一个需求,在每次提交一本版本之后,把这个版本库的最新信息保存成一个 xml 的文件,把它放置到阿帕奇的默认web目录下,然后开发团队成员可以通过浏览器,来查看这个文件,获得版本库的最新信息 这里就用到之前学习过的一个命令 svn info svn://192.168.0.130/imooc --xml >> /var/www/repo.xml
svn info 跟上版本库的UIL,再加上imooc版本库的名称,然后保存成一个 xml 文件,后面就加上参数 --xml 然后利用Linux的管道
>> (linux的管道)把这个文件写入到一个xml文件里,然后它保存的路径就是阿帕奇的默认 web 目录,阿帕奇的默认web目录就是 /var/www/ 然后我们保存到什么文件名呢, 就是一个叫做 repo.xml 这样一个简单的钩子脚本就完成了。
当这个钩子启用了之后,每次提交结束后,就会把最新的版本库信息写入到 xml 文件里
-
截图
0赞 · 0采集
-
-
白乙
2017-12-31
- 我们可以看到在这个文件里面有很多示例代码以及说明,最后有三行示例代码。
我们都把它们删除,自己写。
-
截图
0赞 · 0采集
-
-
白乙
2017-12-31
- 现在看到这个post-commit脚本已经变成了绿色的,所以就说明它已经有了可执行的权限。
然后我们来编辑一下post-commit
vim post-commit
-
截图
0赞 · 0采集
-
-
白乙
2017-12-31
- 现在这个钩子已经启用了,这个钩子实际上就是一个shell脚本 我们要让它运行起来,我们就要给它一个允许运行的权限
chmod +x post-commit 这个是Linux底层的命令,给它增加一个可执行的权限
-
截图
0赞 · 0采集
-
-
白乙
2017-12-31
- 现在以post commit为例
这个post commit这个钩子是在每一次提交操作全部完成之后执行的。
启用这个钩子,首先要复制模板文件,并且把后面的 .tmpl 后缀去掉
cp -a post-commit .tmpl post-commit 把后面这个 .tmpl后缀去掉
-
截图
0赞 · 0采集
-
-
白乙
2017-12-31
- 现在进入imooc版本库的目录 发现在版本库下面有一个文件夹叫 hooks 进入hooks文件夹看看有些什么东西 发现这个目录里面有很多 .tmpl 为扩展名的文件 tmpl 就是模板template的意思 这些就是钩子的模板文件,如果我们要让这些钩子生效, 只需要复制一份模板,名称上把这个 .tmpl 去掉,就可以启用文件了。 而钩子文件就是shell的脚本 这里所谓的执行对应任务,就是把钩子对应的shell脚本给执行一下。
svn中涉及到和服务器通信的命令
post——数据传输开始之前,写入版本库之后
pre——数据传输之后,但是又在写入版本库之前
前缀后面的才是操作 lock-锁定 unlock-解锁 commit-提交 revprop-change-版本属性变化。
-
截图
0赞 · 0采集
-
-
白乙
2017-12-31
- 理解成触发器,当执行某个操作时候,就会执行预先设定好的任务。
-
截图
0赞 · 0采集
-
-
白乙
2017-12-30
- 这是svn的高级应用,这都是svn版本库管理人员级别的操作。
主要讲三点内容,
我们在进行这几个操作的时候,svn服务端需要暂停或者重启服务才可以实现。这几个操作过程会影响整个版本库的连接和使用。
-
截图
0赞 · 0采集
-
-
orangewangjie3473319
2017-10-23
- repo.xml内容
-
截图
0赞 · 0采集
-
-
orangewangjie3473319
2017-10-23
- 暂停和启动svn服务: killall svnserve ; svnserve -d -r /svnroot
-
截图
0赞 · 0采集
-
-
orangewangjie3473319
2017-10-23
- 提交之后把版本库最新的信息保存成一个xml文件,放置到web目录下可通过浏览器访问
-
截图
0赞 · 0采集
-
-
orangewangjie3473319
2017-10-23
- chmod +x post-commit 增加可执行权限
-
截图
0赞 · 0采集
-
-
orangewangjie3473319
2017-10-23
- cp -a 保留原文件属性的前提下复制文件
-
截图
0赞 · 0采集
-
-
orangewangjie3473319
2017-10-23
- hooks中存放着钩子的模板文件,我们要使用钩子的话 需要复制一份出来并且把.tmpl这个后缀去掉。钩子的实质是shell
脚本。 数据先从本地传输到服务器,再从服务器复制到版本库。所以有3个时间点: 传输之前(start);传输之后复制之前(pre);复制之后(post)。钩子非常强大,github架设在svn之上也是通过钩子实现的。
-
截图
0赞 · 0采集
-
-
orangewangjie3473319
2017-10-23
- 钩子的概念
-
截图
0赞 · 0采集
-
-
orangewangjie3473319
2017-10-23
- SVN高级应用: 需要暂停和重启SVN服务
-
截图
0赞 · 0采集