一、配置tomcat

tomcat-9.0.39
  vim /usr/local/tomcat-9.0.39/conf/tomcat-users.xml
  <tomcat-users>
    <role rolename="tomcat"/>
    <role rolename="role1"/>
    <role rolename="manager-script"/>
    <role rolename="manager-gui"/>
    <role rolename="manager-status"/>
    <role rolename="admin-gui"/>
    <role rolename="admin-script"/>
    <user username="tomcat" password="tomcat" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/>
  </tomcat-users>  可选项,如果登陆失败则修改context.xml文件,注释掉下面的配置;
  vim /usr/local/tomcat-9.0.39/webapps/host-manager/META-INF/context.xml
  <!--
    <Valve className="org.apache.catalina.valves.RemoteAddrValve"
           allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
  -->

二、构建一个自由风格的软件项目(git地址配置不再赘述)

  1、安装Deploy to container插件;(自动化部署tomcat war包所用插件,不适用于jar包);

  2、在jenkins上添加tomcat凭证,就是在tomcat中配置的账户密码;

  3、构建后操作配置      

               

jenkins部署mysql脚本 jenkins部署tomcat_jenkins部署mysql脚本

  4、上面3点配置完成后点击构建,查看控制台日志

        

jenkins部署mysql脚本 jenkins部署tomcat_jenkins部署mysql脚本_02

  5、查看tomcat工作目录下查看是否有刚才的生成的war包;  

   

jenkins部署mysql脚本 jenkins部署tomcat_git_03

三、构建一个maven项目

  1、安装插件Maven Integration;

  这地方有个小坑,就是在jenkins的插件管理器中安装Manve插件会大概率失败,因为有依赖没有被安装,所以更换了国内源也有问题,没有解决,会有此类报错;

  

jenkins部署mysql脚本 jenkins部署tomcat_jenkins部署mysql脚本_04

  如上图所示:要安装Manve要先安装Javadoc,在上图中的地址中会生成javadoc.jpi.tmp和maven-plugin.jpi.tmp的临时文件,在这个临时文件中会体现出一个关于hpi后缀的下载地址,所以解决方法就是去jenkins官网下载关于javadoc.hpi和maven的hpi文件;地址:https://plugins.jenkins.io/ui/search/

      

jenkins部署mysql脚本 jenkins部署tomcat_tomcat_05

       

jenkins部署mysql脚本 jenkins部署tomcat_git_06

    

jenkins部署mysql脚本 jenkins部署tomcat_maven项目_07

   下载完成之后,jenkins的插件管理--->告警中将hgi文件导入安装即可;也不用重启jenkins即可生效;

    

jenkins部署mysql脚本 jenkins部署tomcat_git_08

  2、构建一个maven项目配置

    1)填写git代码地址并指定分支,这里不做赘述;

    2)build,这里构建命令可以不用写mvn因为maven项目会默认加上mvn;

    

jenkins部署mysql脚本 jenkins部署tomcat_git_09

    3)构建后操作

    

jenkins部署mysql脚本 jenkins部署tomcat_maven项目_10

  3、开始构建,并查看控制台是否有报错

    

jenkins部署mysql脚本 jenkins部署tomcat_maven项目_11

四、构建一个流水线项目

  Pipeline是一套运行在Jenkins上的工作流框架,实现单个任务难以完成的复杂流程编排和可视化工作;Pipeline是Groovy语言实现的,但是jenkins很友好的提供了生成代码的可视化工具;Pipeline支持两种语法:declarative(声明式)和Scripted Pipeline(脚本式)语法;

  Pipeline有两种创建方法:

    1)直接在Jenkins的Web UI中生成脚本

    2)创建一个Jenkinsfile脚本放到项目源码库中

  1、安装插件Pipeline插件

  2、配置流水线项目语法

    

jenkins部署mysql脚本 jenkins部署tomcat_jenkins部署mysql脚本_12

  3、根据jenkins自带的工具生成代码,以上图中的hello world为蓝本添加;在流水线配置框最下面有一个流水线语法的按钮,这个就是自动生成工具;

    1)拉取代码选择:checkout: Check out from version control

    2)构建代码选择:sh: Shell Script

      Shell Script: mvn clean package

    3)发布代码选择:deploy: Deploy war/ear to a container

  4、最终就拼装成了相对完整的流水线构建代码

pipeline {
      agent any
      stages {
            stage('push Object') { 
                  steps {
                        checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '114e966f-ada2-4022-8d37-283076e95faa', url: 'http://gitlab.test.com/zhangzhide/web_demo.git']]])
                  }
            }
            stage('build Object') {
                  steps {
                        sh 'mvn clean package'
                  }
            }
            stage('publish Object') {
                  steps {
                        deploy adapters: [tomcat9(credentialsId: '5f5123cd-7ca5-468d-951a-4666ff0ab891', path: '', url: 'http://192.168.31.120:8080')], contextPath: null, war: 'target/*.war'
                  }
            }
      }
}

  5、保存并开始构建,查看控制台构建过程

    

jenkins部署mysql脚本 jenkins部署tomcat_jenkins部署mysql脚本_13

  6、通过放入项目源码库中的Jenkinsfile脚本来构建流水线项目(这步是前面2到4的集合,功能相同,二选其一即可;)

    1)将前面生成的Pipeline代码放入idea工具项目中,该文件名支持自定义,但是最好还是叫Jenkinsfile;因为jenkins的配置项中默认叫Jenkinsfile;

     

jenkins部署mysql脚本 jenkins部署tomcat_git_14

    2)配置jenkins,并构建即可

      

jenkins部署mysql脚本 jenkins部署tomcat_git_15