Linux下SVN使用钩子自动同步代码

什么是 post-commit

利用SVN的POST-COMMIT钩子自动部署代码 我们在开发的过程将代码提交到SVN后使用SVN的hook,通过post-commit脚本,在目 标文件夹根下执行svn update操作,将更新内容同步到测试环境,这样开发调试非常方便。

如何做

创建项目

svnadmin create /mnt/svnroot

进入 hooks 目录

cd /mnt/svnroot/hooks

我们可以看到有个 post-commit.tmpl 的文件。 这是官方提供的一个 template 。我们直接 copy 这个文件

cp -f post-commit.tmpl post-commit

注意: copy 后的文件没有后缀名称

编辑 post-commit 文件

vi post-commit

删掉除了第一行 #!/bin/sh 之后的所有文件 然后输入

#!/bin/sh
/usr/bin/svn update --username soul --password abc123456 /mnt/webroot

svn 命令路径 + update --username 您的用户名 --password 您的密码 您的服务器代码项目目录
即将完成 — 最后一步 – 修改权限

chmod +x post-commit

Checkout一份代码到您的服务器代码项目目录

/usr/bin/svn checkout svn://127.0.0.1/svnroot /mnt/webroot

解决Can’t convert string from native encoding to ‘UTF-8’:

post-commit 新增几行

#!/bin/sh
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
/usr/bin/svn update --username soul --password abc123456 /mnt/webroot
发布了65 篇原创文章 · 获赞 88 · 访问量 28万+

猜你喜欢

转载自blog.csdn.net/uisoul/article/details/89626804
今日推荐