centos svn服务器搭建 多账号多项目不同权限配置 hook配置 项目提交自动同步 测试及生产环境配置
来源:互联网 发布:采购流程及优化 编辑:程序博客网 时间:2024/06/06 00:31
内容分为两大部分:1.svn服务器搭建配置 2.svn hook配置项目提交自动同步到测试环境,及测试生产环境配置。
一,服务器配置
1、安装svn:
yum install subversion
svn –version
如果弹出svn版本信息说明安装成功
2、分别创建不同项目的版本库比如ios,android,www等
svnadmin create /var/svn/ios
svnadmin create /var/svn/android
svnadmin create /var/svn/www
cd /var/svn
ls
然后可以看到:
蓝色目录即为创建的项目仓库
3、查看项目当中的内容如www目录 cd www/conf 可以看到有三个文件,authz,passwd,svnserve.conf
为了统一管理不同项目不同svn用户的不同访问权限,需要把仓库当中的authz 和passwd两个文件拷贝到外层svn主目录中,如上图。
分别对每个项目仓库进行配置,比如www项目:
vi /var/svn/www/conf/svnserve.conf
分别找到,并改为如下:
anon-access = none #禁止匿名访问
auth-access = write
password-db = /var/svn/passwd #统一用这个文件配置密码
authz-db = /var/svn/authz #统一用这个文件配置权限
realm = www #权限域名,在authz里面配置权限使用可以与项目名相同
如果是android就用:
vi /var/svn/android/conf/svnserve.conf
4、配置svn帐号及访问权限:
vi var/svn/authz
如下:
注意[www:/] 这里的www,android,python是与刚才项目中配置的realm对应的
配置中的各个组分别有各个项目的访问权限,boss有所有项目权限
然后配置密码:
vi /var/svn/passwd
如图,分别列出来配置就行了:
启动svn:
systemctl start svnserve
设置开机启动:
systemctl enable svnserve
查看运行状态:
netstat -ntl
如图看到有端口号3690就说明svn服务器正常运行了。
二,在同一个服务器上创建测试环境与生产环境,由于两者环境完全相同,则提交代码到生产环境后基本就没问题了,使用方便。
1. 思路是这样,比如对于www网站项目,在服务器创建两个svn仓库,一个作为生产环境,一个作为测试环境,测试环境需要用svn hook自动同步,这样commit之后测试环境直接生效,测试完成后再对生产仓库update即可,下面创建:
svn co svn://localhost/www /project/www
svn://localhost/www是svn仓库, /project/www是生产环境项目路径 按提示输入svn帐号密码
svn co svn://localhost/www /project/wwwTest
后面一个可以作为测试环境项目路径
2.配置svn hook 项目自动同步:
vi /var/svn/wwwTest/hooks/post-commit
#!/bin/shexport LANG=en_US.utf8SVN_PATH=/usr/bin/svnWEB_PATH=/huizai/wwwTest$SVN_PATH update $WEB_PATH --username 'username' --password '123456' --no-auth-cache
把上面代码拷贝进去保存 注意svn帐号密码要正确
修改权限
chmod 755 /var/svn/wwwTest/hooks/post-commit
此时再往www仓库提交代码就会自动同步到 /project/wwwTest 目录中。
3.二级域名配置,比如配置test.baidu.com这种网址作为测试网址:
如果是使用的阿里云域名,则需要配置test二级域名解析如图:
其中记录值是ip地址,如果是其它平台备案的域名则需要去相应平台更改一下支持
4.配置nginx根据二级域名解析到wwwTest测试项目:
打开nginx配置文件:
一般路径在:/etc/nginx/nginx.conf 或者
/etc/nginx/conf.d/….conf
把server区块再从新拷贝粘贴到原有server下面
修改 server_name为: *.test.baidu.com; #要注意这个域名有没有在上一个server里面包括,包括了要从上一个当中去除掉
修改 root为: /project/wwwTest;
重启nginx:
systemctl restart nginx
5.此时打开浏览器输入网址则访问www目录,输入test….com 访问wwwTest目录,本地svn提交直接同步到wwwTest目录,测试环境直接生效,要提交生产环境直接svn up即可。
- centos svn服务器搭建 多账号多项目不同权限配置 hook配置 项目提交自动同步 测试及生产环境配置
- SVN – 搭建 SVN 服务器 && 多项目分别建立版本库 && 同步至生产环境
- SVN – 搭建 SVN 服务器 && 多项目分别建立版本库 && 同步至生产环境
- CentOS 搭建SVN服务器及相关配置
- centos搭建SVN服务器及配置讲解
- Svn 服务器配置(注意单一项目 多项目都可以)
- svn多项目配置
- svn配置hook自动发布项目
- windows下搭建svn服务器及权限配置
- Centos搭建SVN服务器及配置文件(主要讲配置)
- LAMP环境 服务器多项目,多域名配置
- CentOS 6.5搭建Apache整合SVN 1.8.5服务器(多版本库权限配置)
- 实现开发环境、测试环境、生产环境配置自动切换
- 实现开发环境、测试环境、生产环境配置自动切换
- Centos 搭建svn服务器详细配置
- Centos Svn服务器搭建与配置
- CentOS 7下搭建配置SVN服务器
- CentOS Linux搭建SVN Server配置详解 权限配置
- 四大组件之广播:开机启动app
- Spring MVC +Spring + Mybatis 构建分库分表总结 SSM搭建以及分库分表的实现
- LeetCode 122. Best Time to Buy and Sell Stock II解答
- HDU 5274 Dylans loves tree 树链剖分(水)
- 96、java的IO操作-Properties
- centos svn服务器搭建 多账号多项目不同权限配置 hook配置 项目提交自动同步 测试及生产环境配置
- Composer 与 php 在项目中结合使用
- linux下不重启建立正在运行数据库的从库
- C#中对DataGridView列表中的数据进行查询并定位
- Tuxedo-下载与安装1
- angularJs中的provider服务
- HTML学习
- 【Pixhawk】注册一个字符型驱动设备
- 支付宝PC端接入