首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏小狼的世界

    利用SVN的POST-COMMIT钩子自动部署代码

    所以希望利用SVN的POST-COMMIT钩子HOOKS,在提交代码的同时进行部署。 具体的步骤如下: 1、找到SVN项目的HOOKS目录。 目录中默认会几个对应操作的钩子模板,我们需要创建一个post-commit的文件。 4、代码CO出来之后,可以进行post-commit脚本的测试了。因为svn的hooks执行的时候不带有任何的环境变量,所以我们不能通过简单的 ./post-commit 进行代码的测试。 /post-commit 这样,执行svn update 命令的用户就是svn或者apache服务器的运行用户,因此,我们需要保证代码的存放目录必须有对应用户的权限,否则,这个脚本是不能执行的。 Technorati 标签: svn,hook,post-commit,自动部署 参考资料: 1、SVN Authentication and Auto Update 2、SVN Forum

    1.6K30发布于 2018-07-25
  • 来自专栏donghui的博客

    svn集成ReviewBoard,让post-commit hook后台运行

    svn可以通过post-commit hook与ReviewBoard集成,实现post-commit-review。 其实现原理为: 用户在提交代码至svn完成后触发post-commit钩子脚本 在svn post-commit hook中调用RBtools的rbt post命令连接ReviewBoard自动提交代码评审请求 在使用中出现了如下问题: 用户需要等待post-commit hook执行完毕后才算提交完成 这样直接导致了用户提交代码等待时间过长,影响了用户体验 于是想到让post-commit中调用的 rbt post命令在后台运行 这样post-commit就无需等待rbt post执行完成可以发送完rbt post命令后直接返回 得知在linux中&命令可以把作业放到后台执行 可是在post-commit 其他: svn post-commit脚本编写可以参考:reviewboard源码中用户贡献的样例 rbt post 命令官方指南 (adsbygoogle = window.adsbygoogle

    2.9K20发布于 2019-04-19
  • 来自专栏donghui的博客

    svn 钩子 post-commit 出现255错误解决办法

    /bin/sh 然后 检查post-commit权限 post-commit 脚本文件的权限不对,post-commit 脚本必须有 +x 权限。 chown svn:svn post-commit chmod +x post-commit (adsbygoogle = window.adsbygoogle || []).push({})

    1.3K20发布于 2019-04-19
  • 来自专栏donghui的博客

    ReviewBoard实现自动post-commit,rbt命令在svn hooks中执行出错

    ReviewBoard实现自动post-commit 在svn hooks中使用RBTools工具的rbt post命令向Reviewboard自动提交review request(评审请求) non-interactive表示非交互式处理,即使svn命令执行出错也不弹出认证输入框 可知执行svn hooks的用户没有缓存svn认证信息 解决步骤: 1、获取执行pos-commit的用户 在post-commit 然后,在某个目录下执行 svn co http://xxx ,会有向导让输入认证信息 这样就将认证信息保存在.subversion/auth/svn.simple目录下 最后,rbt命令在post-commit

    2.5K50发布于 2019-04-19
  • 来自专栏开源部署

    SVN利用钩子post-commit自动更新到线上测试服务器

    在每个版本库下有hooks文件夹,里面有很多钩子程序: # ls -l hooks/ total 40 -rwxr-xr-x 1 www-data www-data 332 2010-05-30 16:47 post-commit 提交完成时触发事务  # pre-revprop-change 版本属性修改前触发事务  # post-revprop-change 版本属性修改后触发事务 在执行commit操作之后会自动执行post-commit 因此可以设置post-commit来自动更新到线上服务器: 操作步骤如下: 1. 新建立一个工作副本。 mkdir /yin/ 2、授权:--否则提交会报权限错误。 cd  /home/svn/cqzn_server/hooks mv post-commit.tmpl post-commit 并且修改这个文件:如下内容 vim post-commit #Set variable chmod +x post-commit 综上所述:便可实现自动上传代码到线上服务器。

    66710编辑于 2022-06-30
  • 来自专栏Laoqi's Linux运维专列

    利用svn钩子hooks/post-commit实现代码自动部署

    因此希望当我本地代码commit到svn服务器时,能够触发svn服务器的钩子hooks/post-commit将新版本的代码自动update到站点目录上去。 其实这样做,感觉有点傻。 目录中默认会几个对应操作的钩子模板,我们需要创建一个post-commit的文件。 2.新建post-commit,内容如下 #! 附录: 1.Warning: post-commit hook failed (exit code 255) with no output. 赋予post-commit文件可执行权限,文件第一行有没有#!/bin/sh,在Post-commit第一行不是#!/bin/sh开头也是出现255的 2.这样做,还有点问题。 代码CO出来之后,可以进行post-commit脚本的测试了。因为svn的hooks执行的时候不带有任何的环境变量,所以我们不能通过简单的 ./post-commit 进行代码的测试。

    2.9K30发布于 2018-05-31
  • 来自专栏慎独

    CentOS的SVN服务器搭建和自动部署

    自动部署 每一次commit提交代码之后都会执行钩子post-commit,根据这个原理可以修改post-commit,让服务器上的web目录在每次有人commit之后自动update。 cd /data/wwwsvn/myrepo/hooks #你的版本仓库目录 cp post-commit.tmpl post-commit vi post-commit 内容如下 export LANG #根据提示完成checkout 另外,post-commit脚本必须有x权限。 chmod +x post-commit 至此全部搞定,每一次commit到服务器会自动更新网站内容了。

    1.4K30发布于 2018-06-01
  • 来自专栏我的博客

    Ubuntu初始化svn一系列脚本

    -f "/var/www/svn/${site}/hooks/post-commit" ];then touch "/var/www/svn/${site}/hooks/post-commit" echo /bin/bash svn update /var/www/html/${site}">/var/www/svn/${site}/hooks/post-commit else echo "touch post-commit exit 0 fi chmod +x /var/www/svn/${site}/hooks/post-commit chown -R www-data:www-data /var/www/svn/${site else echo 'touch /etc/apache2/svn/${site}.conf error' exit 0 fi echo "cat /var/www/svn/${site}/hooks/post-commit

    78140发布于 2018-05-08
  • 来自专栏葫芦

    linux svn钩子 svn同步当ftp用

    直接在当前目录下检出 svn checkout svn://192.168.13.166/project test 检出文件并且重命名文件夹为test 第二步:在项目库的 hooks/ 目录下新建 post-commit SVN} update ${STATIC_DIR} --username "wangzi" --password "wangzi" #如果是实时更新网页chown www:www 路径 第三步:让post-commit 有执行的权限 chmod u+x post-commit这里就已经完成了 问题:如果遇到post-commit失败退出代码127 试着用命令找下对应的路径并修改post-commit,命令

    10.2K50发布于 2019-05-09
  • 来自专栏全栈程序员必看

    centos搭建svn 服务器 并同步到web 目录(总结)

    进入/home/www目录下 (重要) svn co svn://127.0.0.1/project 补充: svn co svn://127.0.0.1/svndata/test 2.建立post-commit 文件 进入/var/svn/project/hooks下,建立post-commit文件: cd /var/svn/project/hooks vim post-commit 用户名 --password 密码 --no-auth-cache >>$LOG #mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf 3.给post-commit 执行权限: chmod 755 post-commit 参考:实现svn更新自动同步到web目录 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/112840.html

    87650编辑于 2022-07-08
  • 来自专栏Tensorbytes

    gitlab CI/CD (上)

    以下是最常用的 6 个本地 Hook: pre-commit prepare-commit-msg commit-msg post-commit post-checkout pre-rebase 前四个 post-commit post-commit Hook 在 commit-msg Hook 之后立即被运行。它无法改变 git commit 的结果,主要用于通知。 对于大多数的 post-commit 脚本来说,你只是想访问你刚刚创建的提交。 post-checkout post-checkout Hook 和 post-commit Hook 很像,但它在你用 git checkout查看引用的时候被调用。

    1.2K20发布于 2019-10-23
  • 来自专栏python3

    CentOS 6.5 x64安装svn

    编辑钩子文件,默认post-commit文件不存在 vim /svndata/www/dts/hooks/post-commit 内容如下: #! username whh --password whh /www/dts/ >> /var/log/svn/dts.log 设置权限 chmod 755 /svndata/www/dts/hooks/post-commit 当客户端提交文件成功之后,会自动执行post-commit。将更新的代码检出到指定目录,保证提交的代码和服务器一致。 启动svn svnserve -d -r /svndata 注意,必须要手动检出一份,否则post-commit不生效 svn co file:///svndata/www/dts/ /www/dts

    86910发布于 2018-08-02
  • 来自专栏有困难要上,没有困难创造困难也要上!

    Git钩子工具lefthook

    pre-push 三个钩子,如下所示: pre-commit: parallel: true scripts: "pre-commit.sh": runner: bash post-commit : "pre-push.js": runner: node 这里定义了三个钩子,分别对应 .lefthook/pre-commit/pre-commit.sh,.lefthook/post-commit /bin/sh echo 'pre-commiit ...' .lefthook/post-commit/post-commit.sh #! .'); 接下来,执行 git commit 命令,来触发 pre-commit 和 post-commit hooks。 hook: pre-commit │ ╰──────────────────────────────────────╯ sync hooks: ✔️ (pre-commit, pre-push, post-commit

    89810编辑于 2024-05-21
  • 来自专栏全栈程序员必看

    linux服务器安装svn超详细介绍

    nginx/html/svn/svnrepos/test/hooks目录的 hooks 里面有一堆tmpl,今天我们就说一下自动部署post-commit.tmpl,   tmpl文件是模版文件,我们要用post-commit 需要手动复制对应tmpl里面的内容到新的post-commit里面。 cd /usr/share/nginx/html/svn/svnrepos/test/hooks cp post-commit.tmpl post-commit   使用ftp软件打开 刚刚新建的post-commit 文件,清空文件 16.修改post-commit文件   然后打开文件清空内容,修改为以下代码: #!

    5.1K20编辑于 2022-09-06
  • 来自专栏民工哥技术之路

    配置SVN的hooks功能自动更新代码

    r-- 1 root root 2780 Jun 8 23:50 start-commit.tmpl 备份下配置文件 [root@centos hooks]#cp post-commit.tmpl post-commit [root@centos hooks]#chmod +x post-commit 修改post-commit配置文件 [root@centos hooks]# vim post-commit #!

    1.5K10发布于 2020-09-16
  • 来自专栏全栈程序员必看

    svn利用钩子脚本功能实现代码同步到web目录

    会得到与它所处理的事件相关的参数,根据 hook的返回值,Subversion会决定是否继续当前的提交过程 要实际安装一个可用的钩子,你需要在 repos/hooks目录下安装一些与钩子同名(如 start-commit或者post-commit username abc –password 12345 是自动将用户名和密码作为参数传送进去 –no-auth-cache 是说不缓存用户名和密码,这是出于安全考虑 2.update方式 修改hooks/post-commit 三、svn实现远程机器自动更新 首先实现A机器通过ssh无密码登陆B机器, 修改A机器的post-commit文件 /usr/bin/ssh -l root 192.168.127.183 “/bin svnup.sh” 然后在B机器的/home/www/目录创建svnup.sh可执行文件 /usr/bin/svn update /web/root/code 版本库有提交请求的时候自动会执行post-commit 脚本,post-commit脚本通过ssh让远程机器执行shell脚本自动更新svn。

    2.1K30编辑于 2022-07-08
  • 来自专栏gaoqin31

    CentOS下通过yum安装svn及配置

    chown -R apache:apache /www/webroot/oplinux 3)建立同步脚本 cd /www/svndata/oplinux/hooks/ cp post-commit.tmpl post-commit 编辑post-commit,在文件最后添加以下内容 export LANG=en_US.UTF-8 SVN=/usr/bin/svn WEB=/www/webroot/ $SVN update $WEB –username rsync –password rsync chown -R apache:apache $WEB 增加脚本执行权限 chmod +x post-commit

    1.2K20发布于 2018-09-12
  • 来自专栏我的博客

    svn钩子用法

    要点:需要post-commit具有执行权限 chmod +x ./post-commit 需要将svn的目录给www-data chown -R www-data:www-data .

    1.3K40发布于 2018-05-08
  • 来自专栏Lambda

    Ubuntu下SVN安装和配置

    四、同步更新 [勾子] 同步程序思路:用户提交程序到SVN,SVN触发hooks,按不同的hooks进行处理,这里用到的是post-commit,利用post-commit到代码检出到SVN服务器的本地硬盘目录 知识点: 1、SVN的hooks # start-commit 提交前触发事务 # pre-commit 提交完成前触发事务 # post-commit 提交完成时触发事务 # pre-revprop-change 2、同步命令rsync的具体参数使用 3、具有基个语言的编程能力bash python perl都可以实现 post-commit脚本 编辑文件:sudo vim /home/xiaozhe/svn /mypro/hooks/post-commit 注意:编辑完成post-commit后,执行:$ sudo chmod 755 post-commit 内容: #! --timeout=90   --exclude-from=/home/svn/exclude.list $WEB root@$WEBIP:/www/ >> $LOG fi 以上是具体的post-commit

    3.9K70发布于 2018-01-23
  • 来自专栏火丁笔记

    Subversion钩子

    pre-commit.tmpl pre-lock.tmpl pre-revprop-change.tmpl pre-unlock.tmpl start-commit.tmpl 其中最常用的是pre-commit和post-commit 本文以pre-commit为例说明了一下钩子的用法,实际上其他脚本也很有用,比如说如果你想在提交代码后发一条微博,就可以利用post-commit来解决,但是记住不要滥用,比如说非常流行的一种做法是利用 post-commit来更新线上程序,但由于整个操作过程不能保证原子性,所以有可能出现问题,解决方法请参考Rasmus的描述,我就不多说了。

    1.2K20编辑于 2021-12-14
领券