持续集成-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 注意:服务器已经 ...
最新文章
- MFC文件操作大全,打开,保存,复制,删除,查找等
- SetConsoleCtrlHandler 处理控制台消息
- 【代码笔记】iOS-performSelectorOnMainThread
- php屏蔽ip时间段,php中限制ip段访问、禁止ip提交表单的代码分享/用PHP打印出前一天的时间格式:...
- 粒子群算法的惩罚函数的c语言实现,粒子群算法结合惩罚函数用于桥式起重机主梁优化.pdf...
- 原核DNA甲基化简述
- 第三方定量定性检测质谱实验
- 私域运营电商平台和传统电商平台有什么不同?
- background简写属性
- css绘制星星闪烁,CSS3 闪烁的星星
- MIPI DSI转LVDS东芝TC358775XBG视频解码芯片,RK3399点LVDS屏必备
- 信号电缆与计算机电缆区别,控制电缆与计算机电缆有什么区别
- linux tty字体,ArchLinux TTY 中文字体渲染
- 剑网3手游怎么在电脑上玩 剑网3手游电脑版玩法教程
- Kafka是如何实现高性能的?
- linux opengl es,在Linux上,如何开发OpenGL ES(GLES)2.0应用程序?
- 【魔改练习题】五只小猪称体重
- Debian下安装3322动态域名更新程序
- metric--路由度量值
- 疑难杂症:导航装置的高可用
热门文章
- rdworksv8教学说明书_操作说明书-深圳睿达科技有限公司.PDF
- 托管C++中函数调用的双重转换(Double Thunking)
- 双击下载当日bing壁纸
- Mac安装鸿蒙系统,搭建MAC系统下的Wi-Fi loT Hi3861鸿蒙开发环境
- Ubuntu系统中wineHQ的卸载
- java 布尔值的判断
- Wi-Fi的 8-stream sounding 和 8x8 MU-MIMO之间有什么关系?
- Anaconda+tensorflow+opencv安装+pycharm设置(win10系统)
- 2018,金融机构的下一个发力点在哪?
- selenium 如何解决网页信任证书的问题