Jenkins总结2-部署maven项目
1. 部署Maven项目
1.1 新建项目
选择新建任务
输入任务名称,并选择构建一个Maven项目。如果你的页面没有看到“构建一个maven项目”,则需要安装Maven Integration插件。
填写项目描述
填写源码管理,我选择的是git库,Repository URL是代码的地址,Credentials是用户名密码。指定分支是git的分支名。
如果是新环境,这里可能会报错:remote: HTTP Basic: Access denied 是因为Credentials没有设置或错误。
设置构建结果

1.2 配置Maven编译命令
在Build栏,Root POM输入的是pom.xml,读取的是Maven项目的根pom.xml
Goals and options是maven项目的执行脚本:clean install -pl com.zh.test:my-api -am -U -Dmaven.test.skip=true -Dmaven.repo.local=/usr/local/maven-3.3.9/repository
参数说明:这里填写的命令不需要写mvn开头
clean:清除编译后的目录,默认是target目录
install:对项目进行编译
-pl:指定要编译的子项目,而不是编译全部项目,在maven项目有很多子模块,尤其是2层级以上的项目,可以使用这个参数,只编译需要的子模块,减少编译时间。
com.zh.test:my-api:这是就是我的测试项目,com.zh.test是整个项目的groupId,my-api是要编译的子模块的artifactId
-am:表示同时处理选定模块所依赖的模块
-U:强制更新
-Dmaven.test.skip=true:不执行测试用例,也不编译测试用例类
-Dmaven.repo.local=/usr/local/maven-3.3.9/repository 指定jenkins服务器上的maven的repository地址。虽然在系统配置时设置环境变量,但部署新项目时maven还是默认执行一遍依赖下载的,配置这个可以节省很多编译时间。
1.3 发布步骤

这里填写的发布项目的步骤了。
选中“Run only if build succeeds”,只有maven编译成功之后才会执行这个配置。
SSH Server:选择在系统配置里配置好的SSH Server
Source files:源文件地址,指的是项目编译后的存放地址。位置路径:JENKINS_HOME/workspace/jenkins任务名称/项目路径。
举例:我的文件目录是 /data/jenkins/workspace/jenkins_test/api-server/my-api,在这个目录下获得拿到编译好的jar包或war包 (/data/jenkins是我设置的JENKINS_HOME的环境变量;workspace是固定的目录,不会变;jenkins_test是我这次演示的jenkins任务名;api-server/my-api是项目路径,因为my-api是第三级的子模块,上级是api-server,所以生成的路径是api-server/my-api )
Remove prefix:为了拿到jar包,需要删除的路径。
Remote directory:远程目录。在系统设置的SSH Server时也配置了一个Remote Directory,这里设置的Remote Directory是要拼接到SSH Server的Remote Directory后面,如果是空可以填写/
Exec command:在远程服务器执行的shell脚本,可直接在这里也,执行远程服务器的sh脚本地址。项目多的话最好使用sh文件启动。
2.1 丢弃旧的构建
Jenkins是默认保留历史构建记录的,如果你的项目比较多,项目更新构建比较频繁,很容易造成硬盘空间不足的显现。
所以Jenkins提供了“丢弃旧的构建”让大家自由配置,保持构建的天数、保持构建的最大个数大家可以按自己需要填写,如果不填的话,默认值最大值。天数是365。

2.2 构建触发器
这里可以按照需要设置定时构建任务,我这里设置的是每天中午11点构建。点击后面的?符号可以插查看此命令的说明。

2.3 构建环境
这些参数可以自己翻译一下,作用一目了然。作用这个大家自行摸索吧

3. 问题
3.1 在启动多级maven项目是,会报错:SSH: Current build result is [NOT_BUILT], not going to run.
解决办法是安装插件:fail-the-build
地址:https://plugins.jenkins.io/fail-the-build-plugin/
Jenkins总结2-部署maven项目的更多相关文章
- Intellij 部署maven项目
一 部署Maven项目 1.下载和配置 (1)下载:maven.apache.org,点击download,下载apache-maven-3.3.9-bin.zip (2)配置环境变量: 环境变量包括 ...
- 部署Maven项目到tomcat报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener【转】
部署Maven项目到tomcat报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderLi ...
- Jenkins+harbor+gitlab+k8s 部署maven项目
一.概述 maven项目部署流程图如下: 环境介绍 操作系统 ip 角色 版本 ubuntu-16.04.4-server-amd64 192.168.10.122 Jenkins+harbor Je ...
- Jenkins部署maven项目到远端服务器
jenkins服务器地址:192.168.1.203 项目部署机器地址:192.168.1.201,192.168.1.200 代码托管github 虽然比较low,但是入门是可以的! Jenkins ...
- jenkins介绍及部署tomcat环境、部署Maven项目及密码忘记修改
安装配置jenkins: jenkins安装方式一:war包 1.先安装tomcat将jenkins,war直接放到webapps目录下 2.通过java-jar jenkins.war --http ...
- Jenkins构建部署Maven项目
1 创建新项目 2 构建maven项目 3 配置 3.1 源代码管理 svn 用户名,密码 4 配置maven打包 配置SSH 保存之后 立即构建 执行成功
- 使用Jenkins可持续集成maven项目
首先下载最新的Jenkins的war包,放在tomcat的webapps的目录下,然后运行,例如: http://121.42.62.45:8080/jenkins/ 然后按照一步步的提示,下载相关的 ...
- 【持续集成】GIT+jenkins+snoar——jenkins发布php、maven项目
一.持续集成 1.1 什么是持续集成? continuous integration (CI),持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员,每天至少集成一次,也就意味着 ...
- 配置Jenkins 实现自动发布maven项目至weblogic(svn+maven+weblogic12c)
Jenkins安装完成之后,需要我们对其配置,然后才可以实现自动部署项目. 前提 防火墙开放weblogic的7001端口 Linux(CentOS):firewall-cmd --zone=publ ...
随机推荐
- 查看windows操作系统的默认编码
转自:https://blog.csdn.net/zp357252539/article/details/79084480/ 在Windows平台下,进入DOS窗口,输入:chcp 可以得到操作系统的 ...
- springBoot整合redis(作缓存)
springBoot整合Redis 1,配置Redis配置类 package org.redislearn.configuration; import java.lang.reflect.Method ...
- Java入门系列之重写
前言 关于所有Java系列文章面向有一定基础的童鞋,所写每一篇希望有一定含金量,有些内容可能会从Java整个语法全局考虑穿插后续要讲解的内容以成系统,若不理解,请看完后再学习.上一节我们讲解完了fin ...
- poi excel单元格的校验
switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_NUMERIC://数值类型 if (0 == cell.getCellType()) { ...
- 数据可视化之分析篇(二)Power BI 数据分析:客户购买频次分布
https://zhuanlan.zhihu.com/p/100070260 商业数据分析通常都可以简化为对数据进行筛选.分组.汇总的过程,本文通过一个实例来看看PowerBI是如何快速完成整个过程的 ...
- Docker、K8S网络工作原理
一.Docker 网络模式 在讨论 Kubernetes 网络之前,让我们先来看一下 Docker 网络.Docker 采用插件化的网络模式,默认提供 bridge.host.none.overlay ...
- elementui 使用Form表单 的 resetForm表单功能出现的问题
代码因为在保密机上,这里只进行描述并截取elemen文档中的代码作为参考 今天在开发一个很简单需求的时候遇到的问题,在使用elementui的表单功能,将增和改的表单进行了复用,是在表单的父组件 dr ...
- 初级软件工程师怎么走向BATJ?——献给迷茫中的测试人
软件测试,邀你同行.你好,我是爱码小哥. 又是一个深夜,打开手机备忘录,想记录一些东西,本人比较静的一个人,所以经常会去 IT行业的贴吧论坛交流一下,逛知乎,论坛,社区你就会发现大量这样的帖子,都会出 ...
- Python 3基础教程8-if else语句
终于更新到了,教程8, 如果对python软件测试.接口测试.自动化测试.面试经验交流.感兴趣可以加君羊软件测试交流: 1079636098,还会有同行一起技术交流. 本文介绍if else语句,不多 ...
- Interllij Idea 环境必要配置
必要设置:https://blog.csdn.net/weixin_43378248/article/details/84673406 1. @Autowired 取消错误提示 (1)选择file - ...