设为首页 收藏本站
查看: 1065|回复: 0

[经验分享] 通过Jenkins部署java项目

[复制链接]

尚未签到

发表于 2018-9-3 11:33:45 | 显示全部楼层 |阅读模式
  笔记内容:通过Jenkins部署java项目
  笔记日期:2018-02-28


  • 26.9 部署java项目-创建私有仓库
  • 26.10 部署java项目-下载zrlog源码
  • 26.11 安装配置tomcat
  • 26.12 部署java项目-安装maven
  • 26.13 安装插件
  • 26.14 构建job
  • 26.15 发布war包
部署java项目-创建私有仓库
  Jenkins大多数情况下都是用来部署Java项目,Java项目有一个特点是需要编译和打包的,一般情况下编译和打包都是用maven完成,所以系统环境中需要安装maven。
  本次实验,我们采用git私有仓库的形式,涉及到配置密钥,以zrlog来作为本次实验需要部署的java项目。
  实验环境:


  • 192.168.77.128 作为项目的线上服务器,具有JDK1.8+Tomcat8.5环境
  • 192.168.77.130 Jenkins服务器
  准备工作:


  • 自行在免费的代码托管平台申请一个私有的git仓库,我这里使用的是国内的一个免费托管平台:码云
  • 生成密钥对,把公钥放到git服务端,也就是配置仓库的密钥认证,常规操作就不演示了
  克隆创建好的私有仓库:
  

[root@server ~]# cd /home/  
[root@server /home]# git clone git@gitee.com:Zero-One/Test-Zrlog.git
  
[root@server /home]# cd Test-Zrlog/
  
[root@server /home/Test-Zrlog]# ls
  
README.md
  
[root@server /home/Test-Zrlog]# vim README.md  // 随便更改一下内容
  
[root@server /home/Test-Zrlog]# git add .
  
[root@server /home/Test-Zrlog]# git commit -m "first"
  
[root@server /home/Test-Zrlog]# git push
  

  push成功则代表没问题。

部署java项目-下载zrlog源码
  下载zrlog的源码,并解压:
  

[root@server /home/Test-Zrlog]# cd ../  
[root@server /home]# wget https://codeload.github.com/94fzb/zrlog/zip/master
  
[root@server /home]# du -sh master
  
2.1M    master
  
[root@server /home]# unzip master
  

  然后把解压后的文件都移到git仓库里,并提交到远程仓库上:
  

[root@server /home]# mv zrlog-master/* Test-Zrlog/  
mv: overwrite ‘Test-Zrlog/README.md’? y
  
[root@server /home]# cd Test-Zrlog/
  
[root@server /home/Test-Zrlog]# git add .
  
[root@server /home/Test-Zrlog]# git commit -m "zrlog source"
  
[root@server /home/Test-Zrlog]# git push
  

配置tomcat
  在线上服务器上需要安装好jdk + tomcat,其中jdk最好不要使用openjdk,使用openjdk容易出问题,我这里使用的jdk版本为1.8,tomcat版本则为8.23。
  准备好JDK+Tomcat环境并且Tomcat能够正常服务后,还需要配置Tomcat的用户文件:
  

[root@client ~]# vim /usr/local/tomcat/conf/tomcat-users.xml  # 在文件末尾加入以下内容    # role配置角色
  
  
  
  
  
  
  
    # user配置用户及用户的角色
  
  # 注意以上内容是写在tomcat-users标签内的
  

  接着配置Tomcat的Context文件,只需要配置白名单ip即可,不然默认只允许本地ip访问:
  

[root@client ~]# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml  


    allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.77.*" />  # 这里可以根据你自己的机器ip进行配置
  
  

  

  完成以上编辑后,重启tomcat:
  

[root@client ~]# sh /usr/local/tomcat/bin/shutdown.sh  
[root@client ~]# sh /usr/local/tomcat/bin/startup.sh
  

  打开浏览器进入到Tomcat的web页面,然后点击 “manager webapp” 进入到管理页面:
DSC0000.jpg

DSC0001.jpg

  然后会进入到管理页面:
DSC0002.jpg

  在这个页面我们可以对发布的web项目进行管理,而且Jenkins也需要通过这个管理页面的接口来发布我们的Java项目,所以才需要配置这个管理页面的用户及白名单ip。

部署java项目-安装maven
  因为我们需要通过maven来帮我们编译并打包Java项目,所以这一步是安装好maven,注意这一步是在Jenkins服务器上完成的,官网下载地址:

  https://maven.apache.org/download.cgi

  下载并解压:
  

[root@client ~]# cd /usr/local/  
[root@client /usr/local]# wget  http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
  
[root@client /usr/local]# tar -zxvf apache-maven-3.5.2-bin.tar.gz
  
[root@client /usr/local]# rm -rf apache-maven-3.5.2-bin.tar.gz
  
[root@client /usr/local]# ls apache-maven-3.5.2/
  
bin  boot  conf  lib  LICENSE  NOTICE  README.txt
  
[root@client /usr/local]# apache-maven-3.5.2/bin/mvn --version
  
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T15:58:13+08:00)
  
Maven home: /usr/local/apache-maven-3.5.2
  
Java version: 1.8.0_111, vendor: Oracle Corporation
  
Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-1.b15.el7_2.x86_64/jre
  
Default locale: zh_CN, platform encoding: UTF-8
  
OS name: "linux", version: "3.10.0-327.el7.x86_64", arch: "amd64", family: "unix"
  
[root@client /usr/local]#
  

  安装完成后,到Jenkins的web页面上进行配置,jenkins页面 -> 系统管理 -> 全局工具配置:
  先配置maven的setting.xml文件的路径:
DSC0003.jpg

  然后往下拉,找到Maven那一栏,配置maven的安装路径:
DSC0004.jpg

DSC0005.jpg

  点击 “Saven” 之后,我们的maven也就配置完了

安装插件
  系统管理 -> 管理插件,检查是否已经安装 Maven Integration和 Deploy to container,若没有安装则需要安装这两个插件:


  •   安装Maven Integration:
    DSC0006.jpg


  • 安装Deploy to container:
    DSC0007.jpg


  安装完成:
DSC0008.jpg

  Maven Integration是用于构建Maven项目的,而Deploy to container则是用于发布远程war包的。
  如果没有安装Maven Integration的话,构建任务时是没有Maven项目的选项的:
DSC0009.jpg

  重启Jenkins服务:

  systemctl restart jenkins

  然后点击 “新建任务” ,这时会发现多了一个Maven项目的选项,这就证明maven插件安装成功了:
DSC00010.jpg


构建job
  点击 “新建任务” ,创建一个Maven项目:
DSC00011.jpg

  填写项目信息:
DSC00012.jpg

  源码管理,配置远程的私有git仓库:
DSC00013.jpg

DSC00014.jpg

DSC00015.jpg

  构建触发器、构建环境、Pre Steps这几项保持默认节即可,
  然后配置Build那一栏,Build的过程是在编译源码并打包:
DSC00016.jpg

  接下来的Post Steps以及构建设置这两项也保持默认。
  构建后操作需要配置,这一步我这里目前只是配置一下邮件通知,目的是先进行测试能否成功构建Maven项目,测试成功后一会再配置发布war包:
DSC00017.jpg

DSC00018.jpg

  配置完保存之后,就可以点击立即构建来构建这个maven项目了,我这里是构建成功的:
DSC00019.jpg

  而且邮箱也成功收到了邮件通知:
DSC00020.jpg

  这时进入控制台输出页面,由于是第一次构建Maven的项目,所以会看到下载了很多Maven相关的东西:
DSC00021.jpg

  而第二、第三次构建Maven的项目就不会再下载这么多东西了,如上我们的测试构建Maven项目就成功了,接下来就可以远程发布war包了。

发布war包
  回到项目的配置,在构建后操作那一栏点击 “增加构建后操作步骤” 选择 “Deploy war/ear to a container” :
DSC00022.jpg

  Containers选择Tomcat 8.x,Tomcat URL填写要把war包发布到的那台机器的url:
DSC00023.jpg

DSC00024.jpg

  Credentials这里需要点击右侧的Add,添加用户名和密码:
DSC00025.jpg

DSC00026.jpg

  配置完之后点击保存即可。
  然后就可以构建任务了,我这里是构建成功的:
DSC00027.jpg

  并且也收到了邮件通知:
DSC00028.jpg

  这时候到目标机器上,看看war包是否已发布到tomcat上了:
  

[root@client ~]# ls /usr/local/tomcat/webapps/  
docs  examples  host-manager  manager  ROOT  zrlog-1.9.0  zrlog-1.9.0.war
  
[root@client ~]#
  

  如上,可以看到war已成功发布到tomcat上了。
  浏览器上也成功登录了zrlog:
DSC00029.jpg

  到此为止,我们的Java项目就发布成功了。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-562000-1-1.html 上篇帖子: Jenkins集成Docker镜像实现自动发布 下篇帖子: Docker安装Jenkins
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表