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 ...
随机推荐
- 自动化测试平台(Vue前端框架安装配置)
Vue简介: 通俗的来说Vue是前端框架,用来写html的框架,可轻量级也可不轻量级 Vue特性: 绑定性,响应性,实时性,组件性 安装软件以及控件: 控件库:element-ui node.js ( ...
- WPF DataGrid ScrollBar Style
效果图如下 代码 <DataGrid.Resources> <Style TargetType="{x:Type ScrollBar}"> <Sett ...
- Redis 6.0 redis-cluster-proxy 说明
背景 Redis3.0版本之后开始支持了Redis Cluster,Redis也开始有了分布式缓存的概念.关于Redis Cluster的相关说明,可以看之前的几篇文章:Redis Cluster 原 ...
- P2295 MICE 网格中的DP
题目描述 分析 很好的一道网格中的\(DP\)题 我们设\(f[x][y]\)为小象到达坐标为\((x,y)\)的点时看到的最少的老鼠的数量 但是这样定义是不好转移的,因为小象可能从上面的格子转移下来 ...
- 数据可视化之PowerQuery篇(二)这个方法帮你快速计算列
https://zhuanlan.zhihu.com/p/81846862 PowerQuery中,对两列或者多列的计算一般通过添加自定义列来实现,以下表为例, 如果需要1月和2月数据的合计,可以添加 ...
- Mysql and ORM
本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 外键 增删改查表 权限 事务 索引 python 操作mysql ORM sql ...
- MySQL数据库修改表名
修改表名 例:把表user 修改为tenant,SQL如下: rename table user to tenant:
- 安装完Linux需要做的关于安全的事
故事是这样子的 最近主机受到攻击,原因可能是redis集群没有设置密码(因为快过期了,不想搞得太复杂就没设),然后被人家搞事情了,就被人一把set了些执行脚本,形如curl -fsSL http:// ...
- Linux下显示运行时链接(运行时加载)
目录 介绍 如何加载动态库 dlopen() 第一个参数: 被加载动态库的路径 第二个参数: flag表示函数符号的解析方式 dlopen 返回值 dlsym() 参数: 返回值 符号优先级 dler ...
- Java多线程原理+基础知识(超级超级详细)+(并发与并行)+(进程与线程)1
Java多线程 我们先来了解两个概念!!!! 1.什么是并发与并行 2.什么是进程与线程 1.什么是并发与并行 1.1并行:两个事情在同一时刻发生 1.2并发:两个事情在同一时间段内发生 并发与并行的 ...