jenkins+svn+maven+tomcat一键构建部署

1背景 
这是这种多人协同开发,自动构建,自动部署的方案。就不用自己打包,然后上传部署了,解放人力,便于管理。这里只是简单介绍各自软件的使用与集成,其实不论svn和maven还有很多实用的用法,svn的管理规划,maven的仓库等。 
svn用来做代码版本管理,maven用来编译,tomcat是web容器,jenkins是自动化构建的工具。这里没使用nginx来做方向代理,以后做 
软件版本 
jdk1.8 
tomcat8-部署jenkins,端口8080 
tomcat7-部署应用web项目,端口8090 
jenkins2.46 
maven3.5

2安装jenkins 
2.1安装jdk 
官网下载,解压,改名,修改配置文件,最后使用java -version验证,非常简单。不过多描述

2.2安装tomcat8 
官网下载,解压,改名

2.3安装jenkins 
然后把jenkins的war放入tomcat的webapp(/home/tomcat8/webapps),然后启动tomcat 
/home/tomcat8/bin/startup.sh

2.4修改防火墙,开通8080端口 
vim /etc/sysconfig/iptables 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT 
重启防火墙service iptables restart 
访问url 
http://192.168.247.141:8080/jenkins/ 
这里写图片描述
这里按照他的提示,进行密码验证。 
more /root/.jenkins/secrets/initialAdminPassword 
这里写图片描述 
下面安装插件 
这里写图片描述

选择插件,就安装推荐的吧 
然后是慢长的等待,然后输入用户名和密码 
这里wangqi,wangqi,444687196@qq.com 
插件安装完成之后

这里写图片描述
2.5自己安装插件 
安装SSH Slaves plugin(运行shell命令),Maven Integration plugin(构建maven项目), 
Deploy to container Plugin(部署应用web)。 
在jenkins的系统管理-插件管理-可选插件中可以选择 
这里写图片描述

3安装svn 
3.1查是否已经安装svn 
rpm -qa subversion 
如果已经安装,请删除yum remove subversion

3.2yum安装 
yum install subversion 
mkdir /home/svn/game 
svnadmin create /home/svn/game 
cd /home/svn/game 
ll 
这里写图片描述 
conf目录是配置文件,db目录就是放置各个版本的代码(加密) 
3.3规划svn与配置svn 
规划: 
策划组:开策划、美术读写 
后端组:开后端读写,策划只读 
前端组:开前端读写,策划、美术只读 
美术组:开美术读写,策划只读 
管理员组:所有的读写

权限配置 
vim /home/svn/game/conf/authz 
rw的含义是读写

[game:/server] 
@server=rw 
这个含义是server用户可以多svn的game下面的server目录有读写权限

[groups]
#管理组
manager = boss
#服务端用户组
server = server1,server2
#客户端用户组
client = client1,client2
#美术组
art = art1,art2
#策划组
design=design1,design2
[game:/]
@manager=rw
[game:/server]
@server=rw
[game:/client]
@client=rw
@design=r
@art=r
[game:/art]
@design=rw
@art=rw
@client=r
[game:/design]
@design=rw
@server=r
@client=r
@art=r
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

修改用户密码 
vim /home/svn/game/conf/passwd

[users]
boss=123456
server1=123456
server2=123456
client1=123456
client2=123456
art1=123456
art2=123456
design1=123456
design2=123456
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

修改svn服务 
vim /home/svn/game/conf/svnserve.conf

auth-access = write
anon-access = read
password-db = passwd
authz-db = authz
realm =game
 
 
  • 1
  • 2
  • 3
  • 4
  • 5

防火墙开发svn端口 
vim /etc/sysconfig/iptables 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3690 -j ACCEPT

service iptables restart

3.4启动svn服务 
svnserve -d -r /home/svn/ 
-d:守护进程 
-r:svn根目录 
假设服务端IP为192.168.247.141,那么如下设置后game的访问目录就为: 
svn://192.168.247.141/game

svn客户端使用乌龟(tortoise svn安装直接下一步),找一个目录checkout,如果成功svn就安装成功。 
这里写图片描述

4安装maven 
从 http://maven.apache.org/ 下载 
这里写图片描述

解压,改名 
tar -zxvf apache-maven-3.5.0-bin.tar.gz 
rm -rf apache-maven-3.5.0-bin.tar.gz 
mv apache-maven-3.5.0/ maven3.5

配置环境变量 
vim /etc/profile

M2_HOME=/home/maven3.5
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$M2_HOME/bin
 
 
  • 1
  • 2

修改maven的配置,vim settings.xml

<localRepository>/home/maven3.5/jar</localRepository>
 
 
  • 1

然后把自己的maven的jar拷贝到jar中,不然的会,会重新下载 
基础的软件已经准备好了。

5 spring tool suit 
我是使用spring tools suit编写代码,这里通过help-install已经安装了svn的插件哈。 
右键项目-temp-shareproject-选择svn 
然后填写svn连接,账户,密码,就可以上传去了。安装提示一步一步走就可以了。

这里写图片描述 
这里写图片描述 
上传svn成功之后,项目就会出现如图的连接,说明代码已经被svn管理了。

6使用jenkins构建部署web应用 
6.2新建一个job 
这里选择自由风格,项目名nsfw-server 
这里写图片描述

然后配置这个job 
6.2配置job的svn 
这里写图片描述
配置svn,这里特别注意svn的路径,需要指定到项目名哈 
这里使用svn的boss用户,boss用户具有所有目录的读写权限

6.3构建计划 
每晚8点运行,时间自己改哈,配置方式和crontab的一样 
这里写图片描述

6.4构建环境 
这里需要先source /etc/profile,不然不能使用mvn命令(我这里确实是这样),这里的ssh(需要先装ssh插件哈),需要在系统配置

这里写图片描述

这里写图片描述

6.5构建方式 
构建方式选择invoke top-level maven targets。 
goals是maven命令,setting是maven的配置路径 
这里写图片描述
clean install的意思是删除以前编译过的target,然后重新编译生成war

6.6自动部署到web容器 
这里写图片描述
war路径是相对于jenkins的workspace目录的相对路径 
我的全路径:/root/.jenkins/workspace/nsfw-server/nsfw-server/target/nsfw-server.war 
/ 代表的是会把crm.adminWeb.war 换成ROOT.war放到 tomcat的webapps目录. 
/nsfw-server,不是在root目录,就是webapp下面的就好 
tomcat的信息主要是用户名和密码(来自tomcat-users.xml)。 
jenkins好像支持tomcat7的部署 
这里插播一个tomcat7的安装,这里主要配置一个tomcat-userx.xml。

<role rolename="manager-gui"/>

<user username="wangqi" password="wangqi" roles="manager-gui"/>
 
 
  • 1
  • 2
  • 3

使用这个wangqi用户,可以执行部署命令就可以。

job的配置已经完成

6.7执行构建 
手动执行构建 
这里写图片描述

下面的那个小圆点,就可以看执行的日志。 
这里写图片描述
从日志中可以看出,已经mvn编译出来了war包,然后部署到了tomcat服务器,最后finished:success。

查看tomcat的是否部署完成 
这里写图片描述

访问http://192.168.247.141:8090/nsfw-server/pic/upIndex,成功 
这里写图片描述
自动化构建成功。

ps: 
1如果mvv -s * clean install,能在机器上运行,但是jenkins不能运行,那么一定是环境变量的问题,使用在构建之前使用source /etc/profile 
2如果你修改了svn的代码,上传之后,马上执行构建可能会不成功,因为svn版本没有同步,过一会就可了,就几分钟。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jenkins、SonarQube、TomcatSVN可以进行集成搭建,可以实现代码的自动构建、测试、分析和部署。下面是具体步骤: 1. 安装Jenkins和SonarQube Jenkins和SonarQube都可以在官网下载安装包进行安装。 2. 安装Tomcat Tomcat也可以在官网下载安装包进行安装。 3. 安装SVN SVN可以在官网下载安装包进行安装。 4. 配置Jenkins 4.1 安装插件 在Jenkins中安装以下插件: - Subversion Plugin:用于支持SVN - SonarQube Scanner for Jenkins:用于支持SonarQube 4.2 配置SVNJenkins中配置SVN,在“系统管理”中选择“全局工具配置”,在“Subversion”中设置SVN的路径和账号密码。 4.3 配置TomcatJenkins中配置Tomcat,在“系统管理”中选择“全局工具配置”,在“Tomcat”中设置Tomcat的路径和账号密码。 4.4 配置SonarQube 在Jenkins中配置SonarQube,在“系统管理”中选择“全局工具配置”,在“SonarQube Scanner”中设置SonarQube的路径和账号密码。 4.5 创建Jenkins任务 在Jenkins中创建任务,在任务中配置SVN的地址、账号密码和代码的检出路径。在“构建后操作”中添加以下内容: - Invoke top-level Maven targets:用于构建代码 - SonarQube Scanner:用于进行代码分析并上传结果到SonarQube服务器 - Deploy war/ear to a container:用于将代码部署Tomcat服务器中 5. 使用Jenkins进行集成搭建 在Jenkins中运行任务,Jenkins会自动进行代码的检出、构建、测试、分析和部署。如果有问题,可以在Jenkins的控制台中查看详细的日志信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值