Linux svn自动更新时报错post-svn post commit hookk failed怎么办?

升东运维-LINUX维护/UNIX维护
升东运维是一家专业从事Linux/Freebsd Unix/Windows平台网站维护业务的公司,专业提供Linux(CentOS Redhat Ubuntu等),Unix(Freebsd),Nginx,Apache等系统及网站维护,七年从业经验
八月 13th, 2015
最近用到快代理,vip和svip价格都比其他家高出很多,充值后使用时候发现vip的代理全是一个cdn的ip而且全部不能使用,网站承诺24小时退款,要求退款结果客服拉黑,大家一定警惕这个骗子网站
八月 3rd, 2015
Android 4.22 X86
root以后(after rooted)
dalvikvm 下执行java Helloworld.java (32bit jvm 1.6)程序
class Helloworld {
public static void main(String[] args) {
System.out.println(“Hello World!”);
javac Helloworld.java 得到 Helloworld.class
D:\Program Files\AndroidSDK\build-tools\19.1.0\dx.bat –dex –output=Helloworld.dex Helloworld.class 得到Helloworld.dex
上传到(upload to) vmware android x86 /sdcard
dalvikvm -cp /sdcard/Helloworld.dex Helloworld
root以后如果/data/dalvik-cache 权限不足会报错:
Unable to locate class ‘Helloworld’
java.lang.NoClassDefFoundError: Helloworld
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn’t find class “Helloworld” on path: DexPathList
shell 里面修改下权限 chmod 777 /data/dalvik-cache
或者 or:(android4.2+)
adb shell ANDROID_DATA=/sdcard dalvikvm -cp /sdcard/Helloworld.dex Helloworld (dex要用绝对路径)
六月 28th, 2015
从win7升级到win10后发现chrome无法运行了,即使完全卸载再重装也无法解决,具体表现为打开后无法打开任何页面,浏览器设置也无法打开
遇到此种顽固情况需要检查下软件兼容性问题,一般是由于一些保护软件导致的,比如支付宝安全软件,360安全软件,解决办法如下:
1.桌面图标里加上启动参数 -no-sandbox 然后启动浏览器
2.输入chrome://conflicts/ 检查软件排斥情况 一般会列举出一些自己安装的软件 如安全卫士网盾,svn,支付宝控件,将这些控件最可疑的卸载后即可,本人是支付宝导致无法打开网页
卸载后即可完全正常
如果使用了上述方法以及其他可能的方法还是无法正常打开网页启用沙箱,那么还可以尝试删除自己安装的第三方字体 windows-&controll panel -& fonts(delete all)
一月 26th, 2015
freebsd下gcc编译程序可能会出现如下错误
error: unknown type name ‘u_int32_t’
在文件头加入如下即可
#include &sys/types.h&
Posted in ,
Posted in , ,
Posted in ,
Posted in ,
Posted in ,
Posted in ,
近期评论功能6891人阅读
为了可以在修改完代码提交到SVN服务器后,WEB服务器直接同步.需要配置SVN的钩子,打开hooks目录,
可以看到有一个post-commit.tmpl文件,这是一个模板文件,
复制一份放在此目录下,命名为post-commit
里面原有的代码全部注释掉.这里可以执行shell命令,每次commit完成后都会调用此文件.
我的文件内容为
#!/bin/sh&export LANG=zh_CN.GBK/usr/bin/svn update --username&lxy --password 123456 /var/www/myproject
#!/bin/sh&说明是执行shell命令
export LANG=zh_CN.GBK 是为了解决svn post commit 中文乱码,设置本地化编码,因为我的系统为GBK编码,SVN默认是UTF-8编码,如果不设置将会出现错误,而执行不成功,错误标识为svn: Can't convert string from native encoding to 'UTF-8'
/usr/bin/svn update --username lxy --password 123456 /var/www/myproject 执行更新操作
如果提示:post-commit hook failed (exit code 255) with no output赋予post-commit文件可执行权限
如果您的默认编码就是UTF-8的,要上传中文文件,先将文件另存为UTF-8格式在提交
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:487740次
积分:4959
积分:4959
排名:第2836名
原创:63篇
转载:173篇
评论:54条
(1)(1)(1)(1)(2)(2)(1)(1)(5)(8)(4)(2)(3)(1)(13)(9)(19)(8)(13)(6)(3)(2)(7)(5)(6)(1)(7)(23)(12)(14)(30)(11)(7)(7)你的位置: >
> 利用svn钩子hooks/post-commit实现代码自动部署
配置了台svn服务器,用来保存公司项目的代码,同时svn服务器也是一台web服务器。因此希望当我本地代码commit到svn服务器时,能够触发svn服务器的钩子hooks/post-commit将新版本的代码自动update到站点目录上去。
其实这样做,感觉有点傻。还不如直接把svn版本库指定到web服务器的站点目录下。而且这样,svn库一改,站点目录也马上就更改了。
svn 目录:/home/svn/dl_test/
站点目录:/home/www/data/dl_test/
1.找到svn项目的hooks目录,这里是/home/svn/dl_test/hooks。目录中默认会几个对应操作的钩子模板,我们需要创建一个post-commit的文件。
2.新建post-commit,内容如下
#!/bin/bash
REPOS=&$1&
export LANG=zh_CN.UTF-8
echo &Code Deployed at `date &+%Y-%m-%d %H:%M&`& && /home/svn/dl_test/hooks/deploy_log
/usr/local/subversion/bin/svn update --username ****** --password ****** /home/www/data/dl_test
3.修改post-commit权限
# chmod +x post-commit
4.Checkout一份代码到web服务器上
# cd /home/www/data
# /usr/local/subversion/bin/svn checkout svn://127.0.0.1/dl_test
测试的话,我这里是在本地修改版本库,点commit,然后再看web(nginx)服务器上的数据是否更新来测试。
1.Warning: post-commit hook failed (exit code 255) with no output.
赋予post-commit文件可执行权限,文件第一行有没有#!/bin/sh,在Post-commit第一行不是#!/bin/sh开头也是出现255的
2.这样做,还有点问题。因为是在web服务器上checkout产生的版本库。会发现/home/www/data/dl_test里有.svn。听说这会有安全问题。考虑nginx配置下。
3.大数据量同步时,速度会变慢。
4.留一下别人说的,还没看。
代码CO出来之后,可以进行post-commit脚本的测试了。因为svn的hooks执行的时候不带有任何的环境变量,所以我们不能通过简单的 ./post-commit 进行代码的测试。必须要使用sudo su等命令切换到svn或者apache服务器运行用户下,用下面的方法进行测试 sudo ./post-commit
这样,执行svn update 命令的用户就是svn或者apache服务器的运行用户,因此,我们需要保证代码的存放目录必须有对应用户的权限,否则,这个脚本是不能执行的。我就是因为这个权限的问题,耽误了很多时间。
转载请注明: &
与本文相关的文章linux 下 svn 每次更新都提示被锁,哪怕我svn cleanup之后,下次还这样,而且,提示更新了但是线上没变_百度知道
linux 下 svn 每次更新都提示被锁,哪怕我svn cleanup之后,下次还这样,而且,提示更新了但是线上没变
Warning: post-commit hook failed (exit code 1) with output:svn: E155004: Run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)svn: E155004: Working copy '/opt/www/html-dev' locked.svn: E155004: '/opt/www/html-dev' is already locked.
提问者采纳
贴信息看SVN服务器端post-commit钩报错报错内容析估计post-commit钩调用svn update更新线测试环境update发现html-dev文件夹锁要求cleanup文件夹我估计cleanup服务器文件夹自客户端文件夹服务器文件夹cleanup再客户端commit看看效
额,怎么cleanup服务器上的
提问者评价
其他类似问题
为您推荐:
svn的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 svn commit 指定文件 的文章

 

随机推荐