jenkins 指定版本打包_Jenkins+SVN

本文介绍了在项目开发中为避免上线前集成问题,采用持续集成的策略,特别是如何使用Jenkins结合SVN进行版本指定的自动化打包和部署。通过详细步骤,包括环境搭建、Jenkins配置、插件安装、钩子程序设置等,实现了代码提交后自动触发Jenkins下载源码、打包war包并部署到Tomcat服务器。
摘要由CSDN通过智能技术生成

产生背景

各个小组分别负责各个具体模块开发, 本模块独立测试虽然能够通过, 但是上

线前夕将所有模块整合到一起集成测试却发现很多问题, 想要解决就需要把很多代

码返工重写而且仍然有可能有问题, 但现在时间很可能不够了。

持续集成定义[1]

经常性、 频繁的把所有模块集成在一起进行测试, 有问题尽早发现, 这就是持

续集成。


持续集成工具

Jenkins 和Husband都可以整合 GitHub 或 Subversion。原理如下

31671a1031f70d5f119880f1cfcd6b43.png

环境搭建————基于SVN

SVN安装

下载
svnadmin create /svndir

创建svn资源仓库

[root@localhost ~]# svnadmin create /svndir
[root@localhost ~]# cd /svndir/
[root@localhost svndir]# ls
conf  db  format  hooks  locks  README.txt
[root@localhost svndir]# cd conf/
[root@localhost conf]# ls
authz  passwd  svnserve.conf

新增用户及密码,配置权限

已经看到在仓库下面生成了三个文件

authz #权限配置文件
passwd #用户名密码文件
svnserve.conf #资源库配置文件

在passwd新增一行

yunwei = 123456
新增用户“yunwei”,密码是“123456”

在authz下新增一行

* = r #所有用户有读权限

在server.conf下定义目录,项目的根目录

这个配置文件打开下面几行前面的注释,删除最前面的空格:
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = My First Repository

持续集成子系统

SVN

Tomcat

Maven

Jenkins(包含SVN插件,MAVEN插件,DEPLOY TO WEB CONTAIONER 插件)

集成步骤

修改SVN配置文件

f8ba3c6ff4861c1ffff5f22385170695.png

修改tomcat配置文件

root@zk-node1 conf]# vim tomcat-users.xml

<role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="manager-jmx"/>
  <role rolename="manager-status"/>
  
  <user username="tomcat_user" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-statusmanager-status"/>

解锁Jekines

ef4ef656f381a496fa6f667c2fb2b0f9.png

安装插件

d462491b11d2ff6131caf374b28f6a46.png

系统初始化配置

1673a6a8e736ab57d4eb28eeecfa4039.png

系统管理————全局安全配置

04c1cd84c8bd6c9d94b99753f2d7bbda.png

系统管理————全局工具配置(指定maven的settings配置文件和JDK的安装位置)

c2de410203480ed092f89fd35c4739d0.png

2b5833838c158a441343edc22d8d6e1e.png

管理插件————安装deploy container插件

a9edf72298b8b70aae4db5dbe65011fc.png

Jekines操作

创建一个新任务——————自由风格的软件项目

0d345949e63ca67f60860da0c7346048.png

选择源码管理————填入URL(下载源码)————注意填写到工程目录一级

09a69734a5382363295ca2b24ee03ace.png

配置————填写构建信息————构建的目的是拿到war包

128386ba9bba07ae7d1d60c67267b846.png

94efc3300071687b6aa891e34cda49b4.png

构建后操作——————将war包部署到tomcat中(必须有container插件)

包含操作内容:

1。填写工作空间打包后的war包名称

2。设置访问路径————context path

3。填写tomcat的用户名和密码以及访问tomcat的URL地址

aaec0c999a95f3f8a05c7ea596b3038a.png

配置钩子程序——————使用svn提交代码后触发钩子程序,Jenkins自动下载源码,打包部署到tomcat中

配置——————构建触发器(通过配置相应的URL地址,然后访问URL来触发钩子程序,不用再点击“”立即构建“”)

令牌是自定义的

05f4b2660560d64bdbc065350887a0eb.png

CURL命令——————发送http请求

-X 参数: 指定请求方式
-v 参数: 显示响应结果
-u 参数: 携带用户名/密码
-H 参数: 携带请求消息头信息

curl -X post -v -u [Jenkins 用户名]:[Jenkins 密码] -H "请求消息头信息" http://[服务器 IP 地址]:[服务器端口
号]/jenkins/job/[Jenkins 项目名称]/build?token=[身份验证令牌]curl -X post -v -u admin:2f6bff33bda14baba83ba1c002045f05 -H
"Jenkins-Crumb:88a12946e07d82b3b0d567c7c4610c9a"
http://192.168.70.131:8080/jenkins/job/ProOne/build?token=ATGUIGU_TOKEN

修改SVN钩子程序配置文件

钩子程序由 post-commit.tmpl 复制得到
 这里注意不要使用任何扩展名。 如果按照我们习惯的使用.sh 扩展名则钩
子程序无法正常工作。
 记得使用 chmod 命令设置为可执行权限
 把原有内容注释, 加入 curl 命令

c23676a4f7e6705589d05d521eede5c3.png

参考

  1. ^持续交付:用小版本不断进行快速迭代, 不断收集用户反馈信息, 用最快的速度改进优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值