一、配置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,并构建即可

   

jenkins+tomcat自动化部署的更多相关文章

  1. gitlab与jenkins的自动化部署(通过webhook与ansilble)

    gitlab与jenkins的自动化部署(通过webhook与ansilble) 1.部署介绍 gitlab服务器:192.168.1.49:80jenkins服务器:192.168.1.49:818 ...

  2. 搭建jenkins实现自动化部署

    搭建jenkins实现自动化部署 一.安装jenkins 1.添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo https://p ...

  3. Tomcat 自动化部署

    Tomcat 自动化部署脚本 使用方法: ./autodeploy.sh test 其中autodeploy.sh 为脚本的文件名, test为war的文件名. #!/bin/sh now=`date ...

  4. CentOS下Docker与.netcore(四)之 三剑客之一Docker-machine+jenkins简单自动化部署

    CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...

  5. 基于 Jenkins Pipeline 自动化部署

    最近在公司推行Docker Swarm集群的过程中,需要用到Jenkins来做自动化部署,Jenkins实现自动化部署有很多种方案,可以直接在jenkins页面写Job,把一些操作和脚本都通过页面设置 ...

  6. jenkins搭建自动化部署平台(svn+tomcat重启)

    原文链接:http://blog.csdn.net/zjs40/article/details/51818322 jenkins 自动化部署和集成代码的平台 可以将Git svn 上的代码 check ...

  7. 基于【SpringBoot】的微服务【Jenkins】自动化部署

    最近,也是抽空整理了一些在工作中积累的经验,通过博客记录下来分享给大家,希望能对大家有所帮助: 一.关于自动化部署 关于自动化部署的优点,我就不在这里赘述了:只要想想手工打包.上传.部署.重启的种种, ...

  8. Centos7.6上利用docker搭建Jenkins来自动化部署Django项目

    一般情况下,将一个项目部署到生产环境的流程如下: 需求分析-原型设计-开发代码-内网部署-提交测试-确认上线-备份数据-外网更新-最终测试,如果发现外网部署的代码有异常,需要及时回滚. 整个过程相当复 ...

  9. 在阿里云Centos7.6上利用docker搭建Jenkins来自动化部署Django项目

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_84 一般情况下,将一个项目部署到生产环境的流程如下: 需求分析-原型设计-开发代码-内网部署-提交测试-确认上线-备份数据-外网更 ...

随机推荐

  1. this-2

    读起来使你有新认识或可以使你离更确切的定义更近时的文章不应该被忽略.thisthis既不指向函数自身,也不指向函数的词法作用域(ES6中箭头函数采用词法作用域).this实际上是函数被调用时才发生绑定 ...

  2. Oracle RAC修改监听端口号

    目录 修改OracleRAC监听端口号: 1.查看当前数据库监听状态: 2.修改集群监听端口: 3.手动修改LOCAL_LISTENER: 4.停止集群监听和SCAN: 5.修改listener.or ...

  3. 用 Go 快速开发一个 RESTful API 服务

    何时使用单体 RESTful 服务 对于很多初创公司来说,业务的早期我们更应该关注于业务价值的交付,而单体服务具有架构简单,部署简单,开发成本低等优点,可以帮助我们快速实现产品需求.我们在使用单体服务 ...

  4. linux篇-centos7安装DHCP服务器

    1检查防火墙和selinux(关闭) 关闭防火墙和selinux,这边不多说 2检查DHCP状态 3安装DHCP软件包 4把系统默认的样例复制 5修改配置文件 option domain-name & ...

  5. MongoDB启动报错:Unrecognized option: storage try 'mongod --help' for more information(已解决)

    问题说明: 今天在使用配置文件方式启动MongoDB时,一直启动失败,报错显示:Unrecognized option: storage try 'mongod --help' for more in ...

  6. 第24章 Java 数据类型转换

    每日一句 井底点灯深烛伊,共郎长行莫围棋. 每日一句 What we call "failure" is not falling down, but the staying dow ...

  7. 向sqlserver 数据库插入emoji 表情包

    1.emoji 属于特殊字符 所以我们必须使用utf-8 的编码格式进行保存  不过好在sqlserver 默认支持utf-8 2.将需要存储emoji的字段必须设置为nvarchar 类型  因为v ...

  8. 【clickhouse专栏】对标mongodb存储类JSON数据文档统计分析

    一.文档存储的需求 很多的开发者都使用过mongodb,在mongodb中数据记录是以文档的形式存在的(类似于一种多级嵌套SQL的形式).比如下面的JSON数据结构:dev_ip表示某一台服务器的ip ...

  9. redisson之分布式锁实现原理(三)

    官网:https://github.com/redisson/redisson/wiki/%E7%9B%AE%E5%BD%95 一.什么是分布式锁 1.1.什么是分布式锁 分布式锁,即分布式系统中的锁 ...

  10. Tomcat部署界面使用burp爆破

    打开界面显示私密连接,正常抓包. 抓包查看Authorization的数据 Basic 后面的数据是经过base64加密后的.格式为admin:123456 勾选对应参数,payload设置为Cust ...