subversion 彻底删除 服务器上的 一个项目,搭建subversion 服务器,并自动部署项目...

Posted weixin_39890543

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了subversion 彻底删除 服务器上的 一个项目,搭建subversion 服务器,并自动部署项目...相关的知识,希望对你有一定的参考价值。

如果有卸载旧版本:

yum remove subversion

2 安装

yum install subversion

3 检查是否安装成功

svnserve --version

配置:

1 新建一个目录用于存储SVN所有文件

# mkdir /home/svn

2 新建一个版本仓库

# svnadmin create /home/svn/project

3 添加用户

要添加SVN用户非常简单,只需在/home/svn/project/conf/passwd文件添加一个形如“username=password”的条目就可以了。为了测试,我添加了如下内容:

[users]

# harry = harryssecret

# sally = sallyssecret

pm = pm_pw

4 修改svnserve.conf

[general]

anon-access = read

auth-access = write

password-db = passwd

authz-db = authz

5 修改权限认证文件

authz:

[groups]

[/]

username= rw

* =

6 启动服务器

# svnserve -d -r /home/svn

注:查看服务及重启服务

ps -ef|grep svnserve

# ps -aux|grep svnserve

# kill -9 ID号

# svnserve -d -r /home/svn

扩展配置:

1 设置SVN自启动

---------------------

在/etc/rc.d/rc.local文件中增加这么一行

svnserve -d -r /home/svnroot/svndata &

2 检出一份代码

把SVN的代码检出一份

svn co svn://xx.xx.xxx.xxx/repos1 /home/svnroot/checkout/ --username zmk

配置项目自动部署:(部署目录必须先检出代码,在设置自动更新)

为了可以在修改完代码提交到SVN服务器后,WEB服务器直接同步.需要配置SVN的钩子,打开hooks目录,

可以看到有一个post-commit.tmpl文件,这是一个模板文件,

复制一份放在此目录下,命名为post-commit,并将其用户组设为www,并设置为可执行:

chown www:www post-commit

chmod +x post-commit这样就有了访问www目录的权限。

里面原有的代码全部注释掉.这里可以执行shell命令,每次commit完成后都会调用此文件.

我的文件内容为:

#!/bin/sh

#设定环境变量,如果没有设定可能会出现update报错

export LANG=zh_CN.UTF-8

REPOS="$1"

REV="$2"

SVN_PATH=/usr/bin/svn

WEB_PATH=/web/project

LOG_PATH=/tmp/svn_update.log

#/usr/bin/svn update --username user --password password $WEB_PATH --no-auth-cache

echo "nnn##########开始提交 " `date "+%Y-%m-%d %H:%M:%S"` '##################' >> $LOG_PATH

echo `whoami`,$REPOS,$REV >> $LOG_PATH

$SVN_PATH update --username user --password password $WEB_PATH --no-auth-cache >> $LOG_PATH

chown -R www:www $WEB_PATH

说明:

1、#!/bin/sh 说明是执行shell命令

2、export LANG=zh_CN.UTF-8 是为了解决svn post commit 中文乱码。

如果你是GBK编码可能会提示:Error output could not be translated from the native locale to UTF-8

这是客户端和服务器编码的问题,默认是utf-8,可尝试设置export LANG=zh_CN.GBK或者export LANG=en_US.UTF-8

#执行更新操作

3、svn update –username 你版本库的用户名 –password 用户名的密码 svn://你的IP地址:端口/repos/project /web/project

4、chown -R www:www $WEB_PATH 更改文件夹属主为适合Web Server的

里面原有的代码全部注释掉.这里可以执行shell命令,每次commit完成后都会调用此文件。

以上是关于subversion 彻底删除 服务器上的 一个项目,搭建subversion 服务器,并自动部署项目...的主要内容,如果未能解决你的问题,请参考以下文章

subversion 彻底删除 服务器上的 一个项目,搭建subversion 服务器,并自动部署项目...

subversion 彻底删除 服务器上的 一个项目,搭建subversion 服务器,并自动部署项目...

[TFS]如何彻底删除TFS上的团队项目

SVN彻底 svn 服务器上的 删除某一个文件或文件夹

怎样彻底删除ubuntu?

怎样彻底删除linux上的uwsgi