3.3 权限配置样例
注意:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。
用户组格式:
[groups]
= ,
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法:
[/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/data/svndata,[/]就是表示对全部版本库设置权限。 [repos:/] 表示对版本库repos设置权限 [repos2:/abc] 表示对版本库repos2中的abc项目设置权限 [repos2:/abc/aaa] 表示对版本库repos2中的abc项目的aaa目录设置权限 |
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。
示例:
[groups] admin = alan [/] @admin = rw [repos1:/abc/aaa] king = rw [repos2:/pass] king = |
3.4 启动SVN服务器
默认端口3690方式启动:
svnserve -d -r /data/svndata/ |
指定其他端口方式启动:
su - svn -c "/usr/local/svn/bin/svnserve -d --listen-port 6666 -r /data/svndata" |
说明:-d指定以后台守护进程方式启动,-r指定版本库根目录
3.5 访问方式
svn://{your-server-ip}:8888/apps svn://{your-server-ip}:8888/aizhouyou |
3.6 开启防火墙SVN端口
开启防火墙SVN端口(非必须,如果没开防火墙则不必)
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9999 -j ACCEPT |
保存防火墙设置
/etc/rc.d/init.d/iptables save |
对于单个代码仓库启动命令:
svnserve -d -r /data/svndata/www --listen-host 192.168.10.88 --listen-port 9999 |
说明:
-d 表示在后台运行,
-r 指定服务器的根目录,
这样访问服务器时就可以直接用svn://服务器ip 来访问了。
对于多个代码仓库:
通过 -r 开放 SVN 的根目录,
svnserve -d -r /var/svn/ --listen-host 192.168.10.88--listen-port 9999 |
客户端访问时再指定仓库目录即可访问 如: svn://192.168.10.88:9999/www 来分别访问每个项目
4 yum方式快速部署apache和svn
yum install httpd
yum install httpd-devel //用于开发Apache模块
yum install subversion
yum install mod_dav_svn //Subversion与Apache之间的接口(通过它,Apache就可以访问版本库,可以让客户端也使用HTTP的扩展协议 WebDAV/DeltaV进行访问)
验证svn模块(mod_dav_svn)是否正确安装
ls /etc/httpd/modules | grep svn
系统提示:
mod_authz_svn.so
mod_dav_svn.so
验证安装:
svn --version
其他配置请参考2,3章节
5 Jenkins部署方法
5.1 Jenkins部署方法一
部署tomcat环境
tar -xzvf apache-tomcat-7.0.53.tar.gz –C /usr/local/ mv /usr/local/apache-tomcat-7.0.53 /usr/local/tomcat |
安装JDK
chmod 755jdk-6u20-linux-x64-rpm.bin ./jdk-6u20-linux-x64-rpm.bin 中间输入一次yes # ln -sv /usr/java/jdk1.6.0_20 /usr/local/java 创建指向“/usr/java/jdk1.6.0_20”的符号链接“/usr/local/java” |
配置环境变量
vim /etc/profile.d/java.sh JAVA_HOME=/usr/local/java PATH=$JAVA_HOME/bin:$PATH CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME PATH CLASSPATH # . /etc/profile.d/java.sh |
简单命令测试
# java -version java version "1.6.0_20" Java(TM) SE Runtime Environment (build 1.6.0_20-b02) Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode) |
启动tomcat
# /usr/local/tomcat/bin/catalina.sh start Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/java Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Tomcat started. |
部署jenkins
mv /data/soft/jenkins.war/usr/local/tomcat/webapps |
将jenkins.war文件放入tomcat下的webapps目录下,启动jenkins时,会自动在webapps目录下建立jenkin目录
java -jar jenkins.war
如果报错没有关系不用管
cd /usr/local/tomcat/webapps # ls |
访问:http://192.168.1.20:8080/jenkins/
5.2 Jenkins部署方法二
首先保证系统中已经安装了jdk,最好是jdk1.5以上。
切换到jenkins.war存放的目录,输入如下命令:
$ java -jar jenkins.war
然后在浏览器中输入http://localhost:8080,localhost可以是本机的ip,也可以是计算机名。就可以打开jenkins
部署如下:(JDK安装略)
# java -jar jenkins.war Running from: /data/soft/jenkins.war webroot: $user.home/.jenkins 2014-4-11 19:09:03 winstone.Logger logInternal 信息: Beginning extraction from war file Jenkins home directory: /root/.jenkins found at: $user.home/.jenkins 2014-4-11 19:09:06 winstone.Logger logInternal 信息: HTTP Listener started: port=8080 2014-4-11 19:09:06 winstone.Logger logInternal 信息: Winstone Servlet Engine v0.9.10 running: controlPort=disabled 2014-4-11 19:09:07 jenkins.InitReactorRunner$1 onAttained 信息: Started initialization 2014-4-11 19:09:19 jenkins.InitReactorRunner$1 onAttained 信息: Listed all plugins 2014-4-11 19:09:20 jenkins.InitReactorRunner$1 onAttained 信息: Prepared all plugins 2014-4-11 19:09:20 jenkins.InitReactorRunner$1 onAttained 信息: Started all plugins 2014-4-11 19:09:20 jenkins.InitReactorRunner$1 onAttained 信息: Augmented all extensions 2014-4-11 19:09:20 jenkins.InitReactorRunner$1 onAttained 信息: Loaded all jobs 2014-4-11 19:09:24 org.jenkinsci.main.modules.sshd.SSHD start 信息: Started SSHD at port 48523 2014-4-11 19:09:24 jenkins.InitReactorRunner$1 onAttained 信息: Completed initialization 2014-4-11 19:09:24 hudson.TcpSlaveAgentListener <init> 信息: JNLP slave agent listener started on TCP port 42068 2014-4-11 19:09:25 hudson.WebAppMain$3 run 信息: Jenkins is fully up and running |
注意:ctrl+c退出将不能访问,可放后台执行。
继续阅读请点击第四部分:http://auskangaroo.blog.51cto.com/740826/1410558
利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(三)(网内首发超详细版)