zoukankan      html  css  js  c++  java
  • jenkins+tomcat自动化部署

    一、配置tomcat

      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、构建后操作配置      

                   

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

            

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

       

    三、构建一个maven项目

      1、安装插件Maven Integration;

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

      

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

          

           

        

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

        

      2、构建一个maven项目配置

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

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

        

        3)构建后操作

        

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

        

    四、构建一个流水线项目

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

      Pipeline有两种创建方法:

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

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

      1、安装插件Pipeline插件

      2、配置流水线项目语法

        

      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、保存并开始构建,查看控制台构建过程

        

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

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

         

        2)配置jenkins,并构建即可

          

  • 相关阅读:
    Python时钟,计算程序运行时间
    关于等高线绘制和全平面坐标节点生成
    Springboot配置文件映射
    Docker和Rancher
    ElasticSearch story(二)
    Elastic Story(一)
    由数量众多照片拼贴而成的马赛克图片
    lnmp一键安装包配置laravel项目
    mysql 创建用户与授权、修改密码
    centos 安装 ntpdate 并同步时间
  • 原文地址:https://www.cnblogs.com/zhangzhide/p/13982625.html
Copyright © 2011-2022 走看看