svn 搭建多项目及钩子
<h2>创建版本库</h2>
<pre><code>svnadmin create /home/svn/project_1
svnadmin create /home/svn/project_2
svnadmin create /home/svn/project_3</code></pre>
<h2>配置svn,project_1</h2>
<pre><code class="language-shell">cd /home/svn/project_1/conf/</code></pre>
<ul>
<li>设置密码</li>
</ul>
<pre><code class="language-shell">vi passwd
test1 = 123456
test2 = 123456
test3 = 123456</code></pre>
<ul>
<li>设置权限</li>
</ul>
<pre><code class="language-shell">vi authz
[groups]
bigmaster = test1,test2
[/]
@bigmaster = rw
test3 = r
* =</code></pre>
<ul>
<li>服务综合配置</li>
</ul>
<pre><code class="language-shell">vi svnserve.conf
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz</code></pre>
<ul>
<li>设置钩子</li>
</ul>
<pre><code class="language-shell">cd /home/svn/project_1/hooks/
cp post-commit.tmpl post-commit
chmod 755 post-commit
vi post-commit
export LANG=zh_CN.UTF-8
CURDATE=$(date "+%Y-%m-%d %H:%M:%S")
echo -e "\r\nCode Deployed By at $CURDATE" >> /home/svn/logs/project_1.log
/usr/bin/svn update --username test1 --password 123456 /www/wwwroot/project_1 >> /home/svn/logs/project_1.log
cd /home/svn/logs/
touch project_1.log</code></pre>
<ul>
<li>添加守候进程</li>
</ul>
<pre><code class="language-shell">svnserve -d -r /home/svn</code></pre>
<ul>
<li>配置svn,project_2,project_3与project_1步骤相同</li>
</ul>
<h2>测试</h2>
<ul>
<li>服务器上svn客户端进行检出操作</li>
</ul>
<pre><code class="language-shell">svn checkout svn://localhost/project_1</code></pre>