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

下载地址:http://jenkins-ci.org/

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
docs examples host-manager jenkins jenkins.war manager ROOT

访问: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

转载于:https://blog.51cto.com/auskangaroo/1410549

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(三)(网内首发超详细版)...相关推荐

  1. SpringCloud+Docker+Jenkins+GitLab+Maven实现自动化构建与部署实战

    作者:寅务 www.jianshu.com/p/bdb0642b7495 1.前言与初衷 本文章会涉及Docker常见命令基础知识点结合不同场景实操一起使用. 本文章会涉及结合工作过程中部署不同环境服 ...

  2. Docker02 狂神Docker视频学习笔记 :【狂神说Java 哔哩哔哩】Docker最新超详细版教程通俗易懂

    目录 0. 视频源 0. 学习网址 基础篇 1. Docker概述 1.1 Docker为什么出现? 1.2 Docker历史 1.3 Docker能干什么 2. Docker安装 2.1 Docke ...

  3. 边缘化搭建DotNet Core 2.1 自动化构建和部署环境

    写在前面 写这篇文章的缘由是由于笔者的对新兴技术方向有所追求,但个人资产有限,只能容许购买一台阿里云低配1核2G服务器.服务器上搭建了 Centos7 & Docker & Jenki ...

  4. 边缘化搭建DotNet Core 2.1 自动化构建和部署环境(上)

    写在前面 写这篇文章的缘由是由于笔者的对新兴技术方向有所追求,但个人资产有限,只能容许购买一台阿里云低配1核2G服务器.服务器上搭建了 Centos7 & Docker & Jenki ...

  5. Java并发编程(中下篇)从入门到深入 超详细笔记

    接上一篇博客笔记:Java并发编程(中上篇)从入门到深入 超详细笔记_未来很长,别只看眼前的博客-CSDN博客https://blog.csdn.net/weixin_53142722/article ...

  6. gitlab ci 自动化部署_前端gitLab加jenkins自动化构建和部署,以及服务器常用的linux命令行操作,免密登录...

    常用的linux命令行操作 将项目部署到服务器后,需要查看文件是否已经部署成功,已经对文件进行增删改查操作,就需要用到命令行操作,常用操作如下: ll 罗列出当前文件或目录的详细信息,含有时间.读写权 ...

  7. Tars环境搭建(超详细版)

    Tars环境搭建(超详细版) 简介 Tars是基于名字服务使用Tars协议的高性能RPC开发框架,同时配套一体化的服务治理平台,帮助个人或者企业快速的以微服务的方式构建自己稳定可靠的分布式应用. Ta ...

  8. Jenkins+docker+maven+git自动化构建与部署

    2019独角兽企业重金招聘Python工程师标准>>> 公司项目需要,本地提供代码管理+git+jenkins+maven环境,通过SSH发布到docker服务器进行部署 持续集成的 ...

  9. java搭建阿里云服务器环境(java环境+mysql+tomcat)和部署 JavaWeb 项目到云服务器(十分详细)

    文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源. 购买一系列的东西 其实就是花钱买块区域,服务器,域名,云解析,花了好多money... 一. ...

最新文章

  1. UISegmentedControl的所有操作总结
  2. CentOS 6 nginx(Tengine2.1.2)源码编译一键部署脚本
  3. C代码反汇编后的堆栈寄存器EBP和ESP
  4. c语言程序设计稀土,稀土掺杂Tarkall-C合金多尺度设计及计算
  5. 2020牛客暑期多校训练营(第一场)
  6. 算法 - 二分查找(非递归实现二分查找)
  7. Python 3深度置信网络(DBN)在Tensorflow中的实现MNIST手写数字识别
  8. 3月第四周全球域名解析商:万网DNSPod排名均上升1名
  9. [LeetCode]238.Product of Array Except Self
  10. python3.6 asyncio paramiko_网工的Python之路:Concurrent.Futures
  11. [译] MDC-103 Flutter: Material Theming 的颜色、形状、高度和类型(Flutter)
  12. 数据库MySQL学习——内含34道MySQL练习题及答案
  13. js将华氏度转为摄氏度
  14. 安卓关于inflate方法的总结
  15. 企业知识、经验如何传承?知识管理系统告诉你
  16. 梯田油菜花海距杭州仅120公里
  17. python实现屏幕截图
  18. 论文阅读——Multi-Scale Image Contextual Attention Learning for Inpainting
  19. iphonex美版型号对照表_iPhoneX国行和美版/港版/日版哪个好?苹果X各国家版本区别对比...
  20. 年后准备跳槽一定要注意这几点。谨防踩坑

热门文章

  1. android 图片水印处理 文字倾斜处理
  2. LAMP 关键数据集锦技术选项参考
  3. 极品:蓝丽网 - Vml图像画板.2003 web上的PhotoShop
  4. c语言中int和指针和字符所占字节
  5. ASP.NET ViewState 初探
  6. 激活函数之logistic sigmoid函数介绍及C++实现
  7. 【OpenCV】读取csv文件
  8. linux哪个版本支持多线程,关于Linux操作系统的叙述错误的是()A、Linux是多用户、多任务、支持多线程的操作系统B、Linux的源...
  9. mysql怎么判断2个时间戳为同一天_请教一个需求js怎么判断时间戳是否属于同一天...
  10. Java对线_新手如何通过练习打好Java基础?