持续集成-SVN版本管理系统的安装
2019独角兽企业重金招聘Python工程师标准>>>
本次集成的SVN版本管理系统由Apache 、Subversion 、Jsvn admin构成,其中,Apache 是应用服务器中间件,Subversion 是SVN软件,Jsvn admin是管理 Svn 服务器的项目用户的 web 应用,即Jsvn admin运行在apache服务器,并对我们的SVN访问权限进行管理。
1. 安装apache
- 安装服务
yum install httpd httpd-devel# 启动服务
service httpd start
# 设置为开机启动
chkconfig httpd on
- 配置
vim /etc/httpd/conf/httpd.conf
找到 ServerName 并修改成 ServerName localhost:80
- 防火墙中打开 80 端口
# vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
# service iptables restart
- 测试服务器是否安装成功
浏览器中访问 http://你的IP/
2. 安装SVN
- 安装服务
#安装SVN相关模块
yum -y install mod_dav_svn subversion
#重启apache
service httpd restart
#查看SVN服务是否安装成功
svn --version
- 配置SVN
创建svn主库目录
mkdir /svn/
配置密码和权限管理文件所在目录
touch /svn/passwd.http
touch /svn/authz
vim /etc/httpd/conf.d/subversion.conf
添加以下内容,里面有SVN库的目录和多库的父目录
#Include /svn/httpd.conf
<Location /svn/>
DAV svn
SVNListParentPath on
SVNParentPath /svn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /svn/passwd.http
AuthzSVNAccessFile /svn/authz
Require valid-user
</Location>
RedirectMatch ^(/svn)$ $1/
3. 安装jsvn admin
翻墙后,到 https://code.google.com/p/jsvnadmin/ 下载最新版。
** 关闭 SELinux( Linux 的访问控制)**
修改/etc/selinux/config 文件
vim /etc/selinux/config
将 SELINUX=enforcing 改为 SELINUX=disabled 后重启机器
- ** 安装MYSQL**
# 查看该操作系统上是否已经安装了 mysql 数据库,有的话,可以通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉
rpm -qa | grep mysql #开始安装
yum install mysql-server mysql mysql-devel
service mysqld start
chkconfig mysqld on
防火墙中打开 3306 端口
vim /etc/sysconfig/iptables
加入以下文本
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
重启防火墙, 使端口配置生效
service iptables restart
设置 MySQL 数据库 root 用户的密码
mysqladmin -u root password '123456'
登录数据库后,授权远程访问
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH
GRANT OPTION;
mysql> FLUSH PRIVILEGES;
- ** 使用 Tomcat7 部署 svn admin**
上传tomcat7并解压到/usr/local/tomcat/svnadmin-tomcat,修改tomcat的端口为和容器编码为 UTF-8
vim /usr/local/tomcat/svnadmin-tomcat/conf/server.xml
修改为
<Server port="9005" shutdown="SHUTDOWN">
<Connector port="9000" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
防火墙中打开 9000 端口,重启防火墙
上传svnadmin.war,解压到/usr/local/tomcat/svnadmin-tomcat/webapp下
unzip svnadmin.war -d /usr/local/tomcat/svnadmin-tomcat/webapps/svnadmin
修改svnadmin的JDBC配置
vim /usr/local/tomcat/svnadmin-tomcat/webapps/svnadmin/WEB-INF/jdbc.properties
配置如下:
#MySQL
db=MySQL#MySQL
MySQL.jdbc.driver=com.mysql.jdbc.Driver
MySQL.jdbc.url=jdbc:mysql://127.0.0.1:3306/svnadmin?characterEncoding=utf-8
MySQL.jdbc.username=root
MySQL.jdbc.password=123456#Oracle
#Oracle.jdbc.driver=oracle.jdbc.driver.OracleDriver
#Oracle.jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:svnadmin
#Oracle.jdbc.username=root
#Oracle.jdbc.password=123456
利用客户端工具创建一个 svnadmin 数据库实例并导入相应数据,数据库脚本是安装包下的db/mysql5.sql 和 db/lang/en.sql 文件。下图是运行脚本后创建好的表。
启动tomcat,输入网址 http://192.168.88.15:9000/svnadmin/ 登录svn管理后台,看到该页面后即部署成功。第一次登录需要设置账户和密码。
4. 使用svnadmin
假设现在有以下需求:svntest项目组有jack、rick、rose三个成员,其中jack是项目经理,rick是开发人员,rose是测试人员。svntest项目的仓库URL是http://192.168.88.15/svn/svntest,仓库的目录结构如下:
svntest|_____tags|_____trunk|_____branches
jack是属于管理组,对根目录以及所有的子目录拥有读写权限;rick属于开发组,只拥有trunk以及所有的子目录读写权限, rose可以读取tags目录,但不能写。
4.1 创建仓库
为SVN仓库创建一个名为svntest的库
创建完毕后,在SVN库的根目录下将会被创建一个svntest的文件夹
[root@www svn]# ls /svn
authz httpd.conf passwd.http svntest
authz 文件是权限管理文件,通过上面创建了svntest这个库后,这里默认建立了三个角色(组):developer、manager、tester,其中manager给予了读写权限。
[root@www svn]# cat authz
[aliases]
[groups]
svntest_developer=
svntest_manager=
svntest_tester=[svntest:/]
@svntest_manager=rw
** 重要:修改项目仓库目录拥有者和赋予读写权限,每次创建新的仓库都要重新授权**
因为现在项目仓库目录归属为root,但是我们通过svn管理控制平台操作该目录的时候默认是使用apache的账户,所以对该目录没有读写权限。
现在的/svn所属
[root@www svn]# ll /svn
drwxr-xr-x 6 root root 4096 Mar 2 14:54 svntest
[root@www svn]# vim /etc/httpd/conf/httpd.conf#文件的内容里面有以下字段
User apache
Group apache
修改所属组和权限
chown -R apache.apache /svn/svntest
chmod -R 777 /svn/svntest
4.2 创建用户和添加为组员
点击右上角的用户分别创建jack/rick/rose三个用户。
把admin和jack用户设置为管理组,rick设置为开发组,rose设置为测试组。** admin添加到管理组才能为相应的组给予相应的权限。**
4.3 建立项目的目录
利用乌龟SVN使用管理组的账号jack检出项目,并在根目录下建立相应的子目录,最后上传代码库。
4.4 权限控制
登录SVN管理平台,点击相应的项目进行权限授予。
转载于:https://my.oschina.net/thinwonton/blog/848746
持续集成-SVN版本管理系统的安装相关推荐
- SVN版本管理系统的安装 CentOS + Subversion + Apache + Jsvnadmin
CI服务器:192.168.4.221 root用户操作 建议安装前更新操作系统 yum update 更新完成后重启 reboot 安装apache yum install httpd httpd- ...
- Jenkins——持续集成及Jenkins介绍和安装配置(插件,用户权限,凭据,Maven安装打包,配置tomcat用户权限)
持续集成及Jenkins介绍和安装配置 持续集成及Jenkins介绍 软件开发生命周期 持续集成 持续集成的组成要素 持续集成的好处 Jenkins介绍 Jenkins安装和持续集成环境配置 Gitl ...
- sonarqube连mysql_.net持续集成sonarqube篇之sonarqube安装与基本配置
原标题:.net持续集成sonarqube篇之sonarqube安装与基本配置 Sonarqube下载与安装 Sonarqube下载地址是:https://www.sonarqube.org/down ...
- 持续集成服务器(CruiseControl)安装和配置
1.下载安装 我使用的是CruiseControl-2.8.4 CruiseControl:http://cruisecontrol.sourceforge.net/ SVN:http://subve ...
- Jenkins持续集成环境之Maven的安装和配置
在Jenkins集成服务器上,我们需要安装Maven来编译和打包项目. 1)安装Maven tar -xzf apache-maven-3.6.2-bin.tar.gz 解压 2)配置环境变量 vi ...
- .net持续集成sonarqube篇之sonarqube安装与基本配置
Sonarqube下载与安装 Sonarqube下载地址是:https://www.sonarqube.org/downloads/下载版本有两个,一个是长期支持版,另一个是最新版,此处安装的是最新版 ...
- SVN版本管理系统的使用(CentOS+Subversion+Apache+Jsvnadmin+TortoiseSVN)
1.服务器: 192.168.4.221 root 用 户操作 安装 装 apache # yum install httpd httpd-devel # service httpd start # ...
- 持续集成之jenkins下载及安装
个人推荐rpm方式安装-- 一.yum方式安装: jenkins官方下载地址 https://www.jenkins.io/zh/download/https://www.jenkins.io/zh/ ...
- Jenkins持续集成环境之tomcat的安装和配置
1)安装tomcat 把Tomcat压缩包上传到服务器 tar -xzf apache-tomcat-8.5.47.tar.gz 解压 bin/startup.sh 启动tomcat 注意:服务器已经 ...
最新文章
- unity 角色 动画脚本_Unity Animation --动画剪辑(外部来源的动画)
- WIFI航模图传模块
- React数据获取为什么一定要在componentDidMount里面调用?
- 设置finder窗口大小_五个Finder技巧让你快速提高工作效率
- 记帐数据只记部分后如何处理
- 吴恩达深度学习笔记11-Course4-Week2【深度卷积网络:实例探究】
- 使用PHP创建一个REST API(译)
- LNMP单机高并发的简单优化
- 以深圳.NET俱乐部名义 的技术交流会圆满成功
- SpringMvc @RequestParam、 @RequestBody、@RequestPart 的区别
- python读单行文本求平均值_如何从文本文件python中的数字列表中找到平均值
- oracle连接工具_扯一扯Tableau软件配置数据源系列之Oracle
- 最短路径(信息学奥赛一本通-T1378)
- 在ubuntu 8.04下安装Oracle 11g
- java.sql.SQLException: Protocol violation 问题解析
- keras+yolo实现旗帜识别
- java的gui的design模式怎么打开_手机越用越卡怎么办?打开这五个隐藏按钮,1分钟解决卡顿问题...
- 计算机是uefi启动 不能装win7,uefi+gpt分区安装win7图文教程 uefi加gpt模式安装win7 64位的方法...
- 企业合并_OA替换 | K2 BPM 为你解决企业“变革”大烦恼
- 计算机专业必读哪两本经典书籍?
热门文章
- web前端自动化测试(基于QT4W框架)
- 2021年电工(初级)考试及电工(初级)试题及解析
- 高斯分布和正态分布有什么区别?Gaussian VS Normal
- mybatis中aplication.properties配置
- compact set(紧集)、close set(闭集)、open set(开集)
- 跨境新风向——海外众筹
- 写一个程序从键盘输入两个整数,然后显示第1个整数占第二个整数的百分比,保留到小数点后1位
- 单片机中灯泡显示miss_基于单片机的交通灯计 参考文献1.doc
- 鼠标计算机,事实:计算机鼠标在哪里?
- 将电子书转为PDF涉及的PDF拆分合并总结