docker+jenkins+tomcat⾃动更新代码部署测试环境写在前⾯:此⽂记录只为本公司测试环境搭建,可做参考,实际以公司项⽬为准。
公司环境:Debian系统环境
  服务器启动:tomcat +Mysql+jdk1.8.0_202 +  maven + war
  项⽬存放:svn
  容器部署:docker
  集成:Jenkins
创建Jenkinsci⽤户,并加⼊sudo组
  useradd -m jenkinsci
  password jenkinsci ******
  adduser jenkinsci sudo
安装Mysql
这⾥采⽤的是docker镜像⽅式安装
准备⼯作:创建MySQL容器将使⽤的数据绑定⽬录
  mkdir -p mysql57/var/lib/mysql
接取镜像:
  sudo docker pull mysql:5.7.25
运⾏MySQL docker:
  sudo docker run -d -p 3306:3306 --name mysql \
  -e "TZ = Asia\Shanghai" \
  -e "MySQL_ROOT_PASSWORD = ****** " \
  -v $HOME/mysql57/var/lib/mysql :  /var/lib/mysql \
  mysql:5.7.25mysql下载后的初次使用
-
e 向容器传递环境变量TZ,设置时区,前提有默认时区( dpkg-reconfigure tzdata 选择时区设置 )
-e 令root⽤户的初始⼝令为******
MySQL docker启停命令:
  sudo docker mysql start
  sudo docker mysql stop
安装JDK8
在宿主机Debian系统中安装JDK8
#先加载安装包 software-properties-common以便使⽤add-apt-repository命令
  sudo apt-get install software-properties-common
  sudo add-apt-repository "deb ppa.launchpad/webupd8team/java/ubuntu xenial main"
  sudo apt-get update
  sudo apt-get install oracle-java8-installer
#确认⼀下安装是否成功
  javac -version
安装Tomcat
步骤:
1. 创建tomcat组
2. 创建tomcat⽤户,属于tomcat组
3. 下载和安装Tomcat8,安装⽬录 /opt/tomcat,命令:
  sudo tar xzvf -C /opt/tomcat --strip-components=1
4. 更新/opt/tomcat访问许可
5. 修改Tomcat8配置:
  Tomcat端⼝ 7080, 7443, 7005, 7009(⾃⾏配置未占⽤可⽤端⼝)
  l⽤户配置,内容如下:
  <role rolename="tomcat"/>
  <role rolename="admin-gui"/>
    <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <user username="tomcat" password="******"      roles="tomcat,admin-gui,manager-gui,manager-script"/>
  运⾏Tomcat:
  sudo /opt/tomcat/bin/startup.sh
  停⽌Tomcat:
  sudo /opt/tomcat/bin/shutdown.sh
安装Jenkins
新建⼦⽬录:
  mkdir -p jenkins/.m2
  mkdir -p jenkins/jenkins_home
以Docker镜像⽅式安装Jenkins,下载镜像并运⾏:
  sudo docker pull jenkins/jenkins:lts
  sudo docker run -u root -d -p 6666:8888 -p 50000:50000 --name jenkins \  #6666,8888分别为容器内外映射端⼝号  -e "TZ=Asia/Shanghai" \
  -v $HOME/jenkins/jenkins_home:/var/jenkins_home \
  -v $HOME/jenkins/.m2:/root/.m2 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkins/jenkins:lts
说明:命令带了3个 -v 参数,这是绑定加载,把容器内的⽬录映射到宿主机⽬录,以便容器删除时数据可保留。
参数 -e 向容器传递了环境变量TZ,以设置时区。
访问jenkins容器的命令:
  sudo docker exec -it jenkins bash
查看jenkins容器⽇志:
  sudo docker logs jenkins
在⽇志中查⾃动⽣成的初始管理员密码,复制出来:
安装后设置:打开浏览器,
访问 持续集成服务器IP:6666
在⾸页输⼊初始管理员密码,继续
下⼀步安装插件,简单起见就安装建议插件 (Install suggested plugins)
然后创建管理账号 admin/******。
Jenkins的编译环境配置主要是Oracle JDK 8 (update 202)和Maven 3.6.0。
安装更多插件
在浏览器上打开Manage Jenkins - Manage Jenkins,切换到Available标签,
安装如下插件:
Ø Blue Ocean插件
Ø warning-ng插件,插件的显⽰名称为Warnings Next Generation Plugin
Ø Localization: Chinese (Simplified) 插件
Ø Pipeline Utility Steps插件
Ø Deploy to container插件
插件安装后重启Jenkins。
⼯具配置
准备:复制Maven设置⽂件把Maven全局设置⽂件复制到/home/jenkinsci/jenkins/.m2 ⽬录。(l⽂件)
准备:复制JDK安装⽂件把JDK安装⽂件复制到/home/jenkinsci/jenkins/jenkins_home ⽬录。全局⼯具配置 (Global Tool Configuration)
在浏览器上打开Manage Jenkins – Global Tool Configuration:
Maven配置
默认全局 settings 提供: ⽂件系统中的全局 settings ⽂件
⽂件路径: /root/.m2
JDK JDK installations,
Name: jdk8
勾选Install automatically
再Add Installer - Extract *.zip/*.
Download URL for binary archive: file:/var/jenkins_home/
Subdirectory of extracted archive: jdk1.8.0_202
特别注意:Subdirectory 内容必填,否则编译时PATH的JDK/bin 路径会错,以致不到java程序!
Maven
Maven installations,
Name: Maven 3.6.0 勾选Install automatically,并在Install from Apache下拉框中选择3.6.0。
系统设置 (Configure System)
在浏览器上打开Manage Jenkins – Configure System,填写如下内容:
Global properties 勾选Environment variables
添加属性JAVA_HOME: /var/jenkins_home/del.JDK/jdk8/jdk1.8.0_202/
添加属性TOMCAT_DEPLOY_URL: IP:端⼝/manager/text/deploy?update=true&path=    #(要设置的服务器IP和端⼝) Locale
Default Language: zh_CN
Subversion
Subversion Workspace Version: 1.8
凭据(Credential)
添加tomcat⽤户凭据,
输⼊/选择:
Scope: Global
Username: tomcat
ID: tomcat-user
注意,上⾯输⼊的Username和Password要与“安装Tomcat”⼀节的配置相同。
添加SVN⽤户凭据(有项⽬svn权限的⽤户名密码)
Scope: Global
Username:***
Password: ***
ID: svn-user
管理⽤户
在浏览器上打开系统管理 – 管理⽤户:
新建Jenkins⽤户,分配项⽬权限。
创建流⽔线任务
之后就是使⽤Jenkins新建项⽬拉取svn项⽬代码⾃动编译部署项⽬了
在开始界⾯上,新建任务,再输⼊任务名称,选择多分⽀流⽔线,点击确定。图⽰如下:
接下来,填写任务参数:
General – 显⽰名称:多分⽀例⼦项⽬
分⽀源 (Branch Sources),点击“增加源”,选择 Subversion,输⼊:
Project Repository Base: IP/svn/test/
Credentials: <SVN⽤户凭据>
Include branches: trunk/**/*,branches/*,branches/**/*,tags/*,sandbox/*
注意,Include branches填写内容根据例⼦项⽬test的实际⽬录结构⽽来。
任务参数配置后,Jenkins会⾃动进⾏初次扫描,执⾏任务。⾸次执⾏时会下载项⽬依赖JAR,⽐较耗时,多等⼀会⼉。初次扫描和任务执⾏后,查看项⽬情况如下,有3个分⽀,点击“图例”链接会打开图标说明帮助页:
运⾏流⽔线任务
点击项⽬分⽀,进⼊页⾯,再点击“⽴即构建”链接,开始运⾏流⽔线任务。页⾯会即时显⽰任务运⾏情况。要查看详细情况,可点击打开构建历史下⾯的条⽬。
参考:Jenkins官⽅⽂档 (中⽂版)
查看CheckStyle报告
打开项⽬的构建历史条⽬,再打开CheckStyle Warnings,查看CheckStyle报告。在报告页⾯下⽅有详情 (Details),可按不同维度查看检查结果,如按包(packages)、⽂件 (Files)、类型(Types)或问题(Issues)。
下载制品
项⽬正常编译后,要⼿⼯下载WAR包,打开构建历史条⽬,点击Workspaces - <;分⽀路径>:
进⼊Workspace,打开target⼦⽬录,点击WAR包下载:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。