ubuntu的Linux安装svn并部署项目,同时实现项目同步更新(本地提交commit,项目目录自动更新)
2017-06-29 16:37
911 查看
第一步:我们先安装svn
ubuntu下的linux输入以下命令(温馨提示:下面的所有命令都是我亲自手打的,不知道会不会有错,自己注意哈)
这样就安装好了svn了,很轻松吧,那么现在我们来创建仓储(也就是你以后的代码管理都要放到这下面,不过要注意的是提醒一下不是很了解svn的同学,这里存储的代码是不可视的,也就是说如果你需要获取提交上来的代码不是来这复制的,得通过checkou去获取)
创建版本库
创建真正的项目版本库,例如你有个项目,想自己命名为test,
执行上面的代码之后,到你的linux服务器去看看对应的目录,执行如下命令
这步之后我们就来进行对应的配置了,
使用vi或者vim命令打开配置文件
authz文件的配置如下图
passwd配置文件修改如下:
第三就是修改svnserve.conf这个文件了
下面就是开启svn服务
执行如下代码:
如果想知道svn服务是否已经启动成功了,可用执行下面的代码试试就知道了
现在我们来进行svn运行项目代码自动更新的工作:
执行如下命令,跳转到对应的配置文件目录
这里我假设你项目目录是 /var/www/html,根据自己的实际情况进行修改
然后创建脚本(这个脚本就是实现代码自动更的关键)
上面脚本里面的/var/www/html根据自己实际情况填写
好了,下面就在本地进行checkout ,然后进行commit操作,再去试试看吧,如果不出意外,你自己本地提交修的东西,你指定的项目目录会有一模一样的东西,方便吧?比起以前用ftp方便多了,而且这个还能解决几个人同时修改冲突的问题
添加一点:担心连svn都不会登陆的孩子,
如果连自己linux服务器ip是多少都不知道的,自己在linux上执行命令ifconfig就能看到了
如果还有什么不清楚的,记得给我留言,因为我经常玩csdn,会及时回复的,
ubuntu下的linux输入以下命令(温馨提示:下面的所有命令都是我亲自手打的,不知道会不会有错,自己注意哈)
sudo apt-get install subversion
这样就安装好了svn了,很轻松吧,那么现在我们来创建仓储(也就是你以后的代码管理都要放到这下面,不过要注意的是提醒一下不是很了解svn的同学,这里存储的代码是不可视的,也就是说如果你需要获取提交上来的代码不是来这复制的,得通过checkou去获取)
创建版本库
sudo mkdir /home/svn //这个是总的,因为方便我们以后单独将每个项目的代码放到它下面进行统一管理
创建真正的项目版本库,例如你有个项目,想自己命名为test,
sudo svnadmin create /home/svn/test
执行上面的代码之后,到你的linux服务器去看看对应的目录,执行如下命令
cd /home/svn/test 然后再输入 ll 是否看到有.svn这样一个文件(隐藏文件,ls命令是看不到的,ll才能看得到),如果能看到说明已经成功了
这步之后我们就来进行对应的配置了,
执行cd /home/svn/test/conf到我们的项目版本库配置目录, ls会看到好几个文件,如下: authz文件是设置用户权限,passwd文件是存储用户及密码,svnserve.conf是主配置文件
使用vi或者vim命令打开配置文件
authz文件的配置如下图
passwd配置文件修改如下:
第三就是修改svnserve.conf这个文件了
下面就是开启svn服务
执行如下代码:
sudo svnserve -d -r /home/svn
如果想知道svn服务是否已经启动成功了,可用执行下面的代码试试就知道了
sudo netstat -antp |grep svnserve执行上面的代码后出现有3690的端口,那说明成功了
现在我们来进行svn运行项目代码自动更新的工作:
执行如下命令,跳转到对应的配置文件目录
cd /home/svn/repos/hooks
这里我假设你项目目录是 /var/www/html,根据自己的实际情况进行修改
然后创建脚本(这个脚本就是实现代码自动更的关键)
复制配置脚本模板 cp post-commit.tmpl ./post-commit 打开我们刚刚复制的脚本文件 vim post-commit 打开后记得把里面的内容全部使用#号注释掉或者全部删除掉,然后在我们刚刚复制的脚本文件添加如下内容 #!/bin/sh REPOS="$1" REV="$2" export LANG=en_US.UTF-8 SVN_PATH=/usr/bin WEB_PATH=/var/www/html SVN_USER=xiaowang SVN_PASS=123456 LOG_PATH=/tmp/svn.log echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH echo `whoami`,$REPOS,$REV >> $LOG_PATH $SVN_PATH/svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH exit 0
上面脚本里面的/var/www/html根据自己实际情况填写
好了,下面就在本地进行checkout ,然后进行commit操作,再去试试看吧,如果不出意外,你自己本地提交修的东西,你指定的项目目录会有一模一样的东西,方便吧?比起以前用ftp方便多了,而且这个还能解决几个人同时修改冲突的问题
添加一点:担心连svn都不会登陆的孩子,
如果连自己linux服务器ip是多少都不知道的,自己在linux上执行命令ifconfig就能看到了
如果还有什么不清楚的,记得给我留言,因为我经常玩csdn,会及时回复的,
相关文章推荐
- Linux CentOS SVN 设置钩子hooks/post-commit来同步更新服务器web目录,实现代码自动部署
- linux下SVN配置实现项目目录自动更新以及源码安装的操作方法
- linux下SVN配置实现项目目录自动更新以及源码安装
- Linux(CentOS)+SVN服务器,并实现本地提交后,服务器端自动更新
- linux Ubuntu下jenkins+svn+idea实现自动部署maven项目
- windows环境下svn本地提交后自动更新提交到服务器的项目根目录
- Linux下svn文件提交后自动同步更新到网站目录
- Linux下svn提交文件后自动同步更新到网站目录
- windows,linux下SVN实现自动更新WEB目录
- 利用SVN的post-commit钩子实现多项目自动同步
- linux上配置subversion服务器端安装配置并使用svn,windows本地检出,设置同步更新服务器的钩子
- Linux上yum安装svn并使用钩子实现自动更新
- 利用SVN的post-commit钩子实现多项目自动同步
- svn-多个项目版本库和自动同步更新post-commit
- linux centos svn 安装配置自动同步更新web服务
- svn提交自动更新服务器端web项目测试站点(使用svn的hooks实现)
- Linux下SVN部署/安全及权限配置,实现web同步更新
- linux centos svn 安装配置自动同步更新web服务
- linux服务器安装svn版本控制,自动部署代码到项目目录
- 阿里云服务器安装wdcp面板和SVN服务器,以及实现同步更新web根目录