栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Docker安装Jenkins,使用jdk1.8进行源码编译,ant工具打包,且发布到远程的tomcat8.5中,实现正常的项目访问

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker安装Jenkins,使用jdk1.8进行源码编译,ant工具打包,且发布到远程的tomcat8.5中,实现正常的项目访问

前言
前段时间公司测试遇到一个问题,她们部署的Jenkins突然变成了英文版,然后她们按照网上的资料安装了一个中文插件,却把整个Jenkins搞死了,然后花了一段时间来恢复Jenkins,却发现越走越远,最后来咨询了下我,但很遗憾,我重来没有搞过Jenkins这玩意啊,我也帮着搞了一段时间,却发现依然没办法恢复,所以我建议她们重新安装部署吧。然后就开始了长时间的部署,其实安装Jenkins很简单,但就是没有办法打包,由于公司使用的是ant打包普通的web工程,以前页没搞过,一直打包不成功,搞得很难受。正好那段时间不算忙,所以我就跟着学习部署Jenkins了,我没有在Windows下部署Jenkins,而是使用docker部署,简单的创建了一个Jenkins容器,然后启动,登录Jenkins主页配置全局,创建任务,却发现依然没有办法打包,也就是war没办法打出来,然后去详细看了下以前的工程师们创建build.xml文件,一行代码一行代码的看,终于发现了问题,由于使用的ant,但我创建的Jenkins容器中其实并没有安装ant,所以我需要去安装一个ant插件,最初不清楚怎么搞,看到Jenkins管理页面有一个插件安装的管理,然后我也去装了一个,却发现并没有什么用,一开始就是想能够见到搞就简单搞,毕竟docker创建容器简单,但在容器中安装各类插件还是比较麻烦,主要麻烦就是他的环境变量很麻烦,当你添加了环境变量之后本次有效,但重新进入容器或者重启之后,之前设置的环境变量就会失效了,会被还原,搞得我很崩溃,毕竟docker才接触不久,完全就是一菜鸟,最后只能找度娘,但问题是找了很多博客都没有发现类似的解决方案,最后在某一个博客的评论中,终于发现了解决方案,按照此方式操作之后确实可以。不外乎就是jdk环境和打包需要使用的ant环境,前前后后搞了接近两天时间,期间还需要的就是tomcat容器因为jdk的版本过高导致没有办法正常访问项目,最后需要将tomcat容器的jdk也给修改为1.8,这里需要注意的是docker创建的容器默认安装的jdk版本比较高,如果和自己的开发环境不匹配可能导致程序的正常运行,当我调整了环境之后项目终于成功跑起来了。回想这几天的处理过程还是比较曲折,避免之后还有此类现象的问题出现,所以记录成博客,供大家参考,也给自己留一个笔记吧,具体的安装操作过程我们接下来详细介绍

第一,Docker安装Jenkins
  • 查看Jenkins版本
docker search jenkins
  • 拉取最新版本的Jenkins
docker pull jenkins/jenkins
  • 创建一个Jenkins容器,并重定向端口号,挂载目录到宿主机/root/jenkins_mount的文件夹中,且设置容器的时间和宿主机的时间相同
docker run -d -p 10240:8080 -p 10241:50000 -v /root/jenkins_mount:/var/jenkins_home -v /etc/localtime:/etc/localtime --name docker-jenkins jenkins/jenkins
第二,下载Jdk8的安装包
  • 打开JDK官网

  • 在页面中点击Java archive查看所有的Java版本

  • 在列表中选择需要的版本,我选择的是Java SE 8 (8u211 and later)进入具体的版本下载页,在页面中选择Linux的jdk-8u291-linux-x64.tar.gz版本进行下载

  • 将下载包放在宿主机的/root/jenkins_mount目录中

  • 进入宿主机解压安装包,或者进入容器的/var/jenkins_home进行解压也可以

tar -zxvf jdk-8u291-linux-x64.tar.gz
第三,下载Ant安装包
  • 打开Ant官网点击链接https://ant.apache.org/bindownload.cgi.
  • 在打开的页面中找到Old Ant Releases
  • 点击here打开所有的版本页,选择自己需要的版本进行下载,本文下载apache-ant-1.10.7-bin.tar.gz的版本
  • 将下载包放在宿主机的/root/jenkins_mount目录中
  • 进入宿主机解压安装包,或者进入容器的/var/jenkins_home进行解压也可以
tar -zxvf apache-ant-1.10.7-bin.tar.gz
第四,添加Jdk1.8的环境变量和Ant1.10.7的环境变量
  • 通过命令找到Jenkins的配置文件ID
docker inspect docker-jenkins |grep Id
  • 进入宿主机的/var/lib/docker/containers,找到上一步获取到的Id所对应的目录,进入目录会发现有一个配置文件叫做config.v2.json,将Jdk的环境变量和Ant的环境变量插入到Env的值中,由于此文件是json格式,所以环境变量也是以键值对的形式插入到其中
 "PATH=/var/jenkins_home/apache-ant-1.10.7/bin:/var/jenkins_home/jdk1.8.0_291/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
 "JAVA_HOME=/var/jenkins_home/jdk1.8.0_291",
 "ANT_HOME=/var/jenkins_home/apache-ant-1.10.7",
 "CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar"
  • 注意:修改配置文件之前容器必须关闭,否则当容器重启之后,环境将会被还原到初始状态
  • 保存配置文件,重启docker服务
  • 重启重启守护线程(可操作可不操作)
systemctl daemon-reload
  • 重启docker服务
systemctl restart docker
  • 启动Jenkins容器
docker start docker-jenkins
  • 进入Jenkins容器,测试Jdk是否已经替换成功
docker exec -it docker-jenkins bash
  • 通过命令查看Java版本
java -version
第五,docker安装Tomcat8.5的容器
  • 查看tomcat镜像
docker search tomcat
  • 拉取tomcat8.5的镜像
docker pull tomcat:8.5
  • 创建tomcat容器,并挂载目录到/root/tomcat_mount
docker run -d -p 8088:8080 --name docker-tomcat -v /root/tomcat_mount:/usr/local/tomcat/webapps tomcat:8.5
  • 将jdk1.8的安装包copy到/usr/local/tomcat/plugins目录中
  • 进入tomcat容器,在/usr/local/tomcat目录中创建plugins文件夹
mkdir plugins
  • 目录授权
chmod -R 750 plugins
  • 将jdk1.8从Jenkins的挂载目录拷贝到/usr/local/tomcat/plugins中
docker cp /root/jenkins_mount/jdk1.8.0_291 docker-tomcat8.5:/usr/local/tomcat/plugins
  • 按照上边的步骤修改config.v2.json文件,添加jdk的环境变量,然后重启docker服务,重启tomcat容器
  • 然后给tomcat的管理页面添加登录账号,后边部署Jenkins的时候需要使用
  • 进入tomcat容器中,修改config目录下的tomcat-user.xml的配置文件,在文件中添加登录账号的配置,如下所示





  • 配置完成后输入tomcat跟路径http://192.16.9.161:8088/
  • 点击右上角的Manager App
  • 输入前边设置的账号admin,密码password,然后点击登录,如果出现如下页面,则表示tomcat部署成功
第六,Jenkins拉取svn源代码,使用Ant打包发布到Tomcat8.5的容器中
  • 输入http://192.16.9.161:10240/登录Jenkins

  • 首次登录临时密码放在/var/jenkins_mount/secrets/initialAdminPassword中,直接把临时密码输入即可

  • 登录成功之后需要安装一些插件,我们选择默认安装

  • 左边是默认选择安装,右边是选择自定义的插件安装

  • 点击确认按钮直接进行安装,可能需要花不少的时间

  • 配置全局设置

  • 插件管理

  • 安装必要的插件

  • Subversion(svn)

  • SSH相关的插件(不知道需要哪些就全部安装,我就是这么干的)

  • 全局工具配置

  • 配置jdk版本

  • 配置ant版本

  • 配置maven版本(本文不做配置,和配置jdk一样的,需要先安装再配置)

  • 新建一个任务

  • 我这里已经创建了任务,所以提示已经存在

  • 配置testJob的任务

  • 配置任务的详细执行步骤

  • 配置版本库地址(svn地址)

  • 添加svn的登录账号

  • ant构建

  • ant打包的配置文件(build.xml),此文件需要放在svn项目的根路径

  • build.xml配置文件的讲解

1,default=“deploy”,这个是配置ant的初始命令,和上一步配置的Targets填写的是一致的
2,property name=“webapp.name” value=“testProject” ,这个是一个命名,提供给后面的配置使用的
3,path id="project.classpath"是配置jar包的地址,将jar包引入进来
4,由于我配置的是远程的tomcat,因此需要将tomcat的jar给拷贝到jenkins的容器中,然后在配置文件中添加jar的地址,否则会报错
5,target 标记的配置就是命令的执行顺序(deploy->clear->init->compile->war->deploy)
6,配置jdk1.8作为编译器(详见target name=“compile”)

  
  
      
      
      
      
      
      
      
     
	 
     
    
      
          
              
         
      
  
      
      
      
      
      
      
          
          
          
      
     
      
          
          
          
          
      
     
      
          
          
      

      
          
          
            
         
        
			
					 -->
			
		
          
      
    
      
          
          
              
              
              
                  
              
          
          
      
    
      
          
         
		 
          
      
  
  
  • 配置远程tomcat地址(即tomcat容器的登录地址)
第七,构建任务
  • 手动拉取部署一次项目
  • 控制台输出日志

  • 输入tomcat的地址http://192.16.9.161:8088/进入管理页面,查看是否部署成功,如果出现如下情况,表示部署成功
  • 点击项目名,进入项目的登录页面,然后查看自己的项目,如果一切正常,则表示,我们整套流程部署成功
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/320400.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号