热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jenkins参数化构建mven项目,一键部署至tomcat

上一篇记录了jenkins的安装和常用配置,包括常用的插件下载。那么这里来记录以下Jenkins的参数化构建maven项目。环境:centos7jenkins2.107maven-

上一篇记录了jenkins的安装和常用配置,包括常用的插件下载。那么这里来记录以下Jenkins的参数化构建maven项目。

环境:

centos7

jenkins2.107

maven-3.5.3

jdk-1.8_144

tomcat7


下面记录过程:

1. 上一篇讲的,先安装需要的常用插件:

Build With Parameters      ## 参数化构建需要使用到的插件
Deploy to container Plugin     ## 支持部署到java容器中
Email Extension Plugin      ## 自定义邮件插件
Git Parameter Plug-In     ## 构建时,可以选择git分支,tag等来作为构建参数
Maven Integration plugin       ## maven项目的基础插件,必须安装才能新建maven项目
Monitoring      ## jenkins自身的监控插件,可以监控资源消耗,内存,磁盘等
Persistent Parameter Plugin        ## 参数化构建插件,提供一些常用的参数类型
Publish Over SSH       ## 可以通过ssh,发送文件到远程服务器,并执行shell命令
Role-based Authorization Strategy        ## 常用的用户权限管理插件
SSH plugin      ## 可通过ssh远程执行shell命令的插件

以及一些基本常用的配置,请参考我的另一篇博文,下面不再过多赘述:
jenkins 安装部署与基本常用配置

2. 新建项目,选择构建maven项目
jenkins 参数化构建mven项目,一键部署至tomcat


3. 选择参数化构建,添加参数:
jenkins 参数化构建mven项目,一键部署至tomcat

这里有我们安装插件后,新增的几个参数, Persistent 开头的参数与自带的插件的区别就是,Persistent参数会默认保留上一次构建成功的参数,而不是直接显示设定的默认参数。
Git Parameter 插件就更常用了,可以通过git连接,列出git的分支进行选择,然后使用指定分支代码进行构建,非常好用。
如下:
jenkins 参数化构建mven项目,一键部署至tomcat
jenkins 参数化构建mven项目,一键部署至tomcat

注意这里两个名称要相同,定义了参数后,使用 $参数名 的形式就可以调用参数了。除了这个,最常用的便是字符串形式的参数
jenkins 参数化构建mven项目,一键部署至tomcat

这里有一个 Successful Only,勾选上时,就会保留上一次构建成功的值作为下一次构建时的参数的默认值。


4. 接下来,填入maven构建命令:
jenkins 参数化构建mven项目,一键部署至tomcat

根据自己情况,自行填写。指定的pom.xml 文件一般不需要修改,这个值是相对路径,也可根据实际需求进行修改。

然后,构建构建成功后,执行操作:
jenkins 参数化构建mven项目,一键部署至tomcat

jenkins 参数化构建mven项目,一键部署至tomcat

这个功能就是通过ssh,讲文件发送到远程主机上,然后执行命令。就行配置:
jenkins 参数化构建mven项目,一键部署至tomcat

name进行选择远程服务器,需要提前在系统设置中配置好 服务器地址,连接方式,默认路径等。
然后:
Source file 则是需要发送的文件
Remove prefix 则是需要排除的文件,类似图上的设置,则会只发送一个war包文件到远程服务器上
Remote directory 远程服务器文件路径,此路径毕竟用登陆的账号用读写权限,否则发送文件会失败

Exec command 远程执行的命令。默认是shell命令。默认不使用pty终端。
PS: 这里有几点要特别注意: 执行命令的用户为jenkins配置中设置的远程服务器登陆用户,在执行脚本之前,先将参数设为环境变量,系统环境变量也需要重新source一下
不然在脚本中,无法获取到环境变量。另外,如果要用sudo命令的话,需要使用-E参数,不重置环境变量。并且,sudo命令,默认是需要在pty终端中才能使用,可以
点击高级,勾选使用pty终端执行命令。
jenkins 参数化构建mven项目,一键部署至tomcat
但是,如果使用pty终端执行,启动了tomcat后,jenkins默认在命令执行完成后,会kill 衍生进程,也就会自动kill掉tomcat的启动进程,就导致无法启动。
且,在命令行前设置: BUILD_ID=DONTKILLME 也没用,需要修改jenkins启动参数。这里我没有使用这种办法。
还有一种办法:修改visudo ,取消掉默认的需要pty终端才能执行sudo的配置,使用root命令,执行:visudo,如下:
jenkins 参数化构建mven项目,一键部署至tomcat
将这一行注释掉即可。这样就不需要pty终端使用sudo命令了。这样在jenkins的配置中就不需要勾选使用pty了。也就不会杀死衍生进程了。

这样,就能正常执行你项目的启动脚本(我这里是python脚本)。


5. 然后构建后操作,可以增加一个邮件发送操作,将构建的结果发送到自己邮箱:
jenkins 参数化构建mven项目,一键部署至tomcat

选择这个邮件插件提供的操作,在发送列表里,可以写任意多个邮箱地址,逗号隔开,这样在构建完成后,即可发送邮件。告知构建结果。邮箱的配置,在上一篇里记录过。


OK,到此,就完成了maven项目的参数化构建,一键部署。这也是最常用的功能。

有什么疑问,欢迎提问,见必答



推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 在IDEA中运行CAS服务器的配置方法
    本文介绍了在IDEA中运行CAS服务器的配置方法,包括下载CAS模板Overlay Template、解压并添加项目、配置tomcat、运行CAS服务器等步骤。通过本文的指导,读者可以轻松在IDEA中进行CAS服务器的运行和配置。 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
author-avatar
风一样的男孩668
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有