如何配置 SVN 以便在提交时进行部署?

如何配置 SVN 以便在提交时进行部署?

如何配置 SVN 以在提交时部署?我希望在提交时部署

答案1

您需要修改提交后钩子。放在这里:

PATH_TO_YOUR_REPO/hooks/post-commit.tmpl

将其名称(或创建一个新名称并保存以供将来参考)更改为:

PATH_TO_YOUR_REPO/hooks/post-commit

然后chownchmod让你的 svn 用户(通常apache)执行该文件:

chown apache.apache PATH_TO_YOUR_REPO/hooks/post-commit
chmod g+x PATH_TO_YOUR_REPO/hooks/post-commit

假设您想将 repo 的主干导出到本地路径,下面是我用来自动部署到测试服务器(也是我的 SVN repo 服务器)的方法(我不建议使用它来部署到生产服务器,请使用自定义脚本)。这将**DEPLOY**在您的提交消息中查找标签,并且仅在符合条件时才进行部署。

#!/bin/sh
REPO="$1"
REV="$2"

if ( svnlook log -r $REV $REPO | grep "**DEPLOY**" ) then
    svn export --force -r $REV "file://$REPO/trunk" /var/www/html/yourapp
fi

答案2

查看钩子脚本部分存储库创建和配置你可以编写一个 shell 脚本来在任何地方做任何事情......

答案3

可以,但不建议使用提交后钩子。它将使开发人员等待提交完成,直到钩子执行完成。

对于专业解决方案,应该使用持续集成工具,例如:CruiseControl、Jenkins 或其他工具。

相关内容