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.  优化设置

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项目的更多相关文章

  1. Intellij 部署maven项目

    一 部署Maven项目 1.下载和配置 (1)下载:maven.apache.org,点击download,下载apache-maven-3.3.9-bin.zip (2)配置环境变量: 环境变量包括 ...

  2. 部署Maven项目到tomcat报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener【转】

    部署Maven项目到tomcat报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderLi ...

  3. Jenkins+harbor+gitlab+k8s 部署maven项目

    一.概述 maven项目部署流程图如下: 环境介绍 操作系统 ip 角色 版本 ubuntu-16.04.4-server-amd64 192.168.10.122 Jenkins+harbor Je ...

  4. Jenkins部署maven项目到远端服务器

    jenkins服务器地址:192.168.1.203 项目部署机器地址:192.168.1.201,192.168.1.200 代码托管github 虽然比较low,但是入门是可以的! Jenkins ...

  5. jenkins介绍及部署tomcat环境、部署Maven项目及密码忘记修改

    安装配置jenkins: jenkins安装方式一:war包 1.先安装tomcat将jenkins,war直接放到webapps目录下 2.通过java-jar jenkins.war --http ...

  6. Jenkins构建部署Maven项目

    1 创建新项目 2 构建maven项目 3 配置 3.1  源代码管理 svn 用户名,密码 4 配置maven打包 配置SSH 保存之后 立即构建 执行成功

  7. 使用Jenkins可持续集成maven项目

    首先下载最新的Jenkins的war包,放在tomcat的webapps的目录下,然后运行,例如: http://121.42.62.45:8080/jenkins/ 然后按照一步步的提示,下载相关的 ...

  8. 【持续集成】GIT+jenkins+snoar——jenkins发布php、maven项目

    一.持续集成 1.1 什么是持续集成? continuous integration (CI),持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员,每天至少集成一次,也就意味着 ...

  9. 配置Jenkins 实现自动发布maven项目至weblogic(svn+maven+weblogic12c)

    Jenkins安装完成之后,需要我们对其配置,然后才可以实现自动部署项目. 前提 防火墙开放weblogic的7001端口 Linux(CentOS):firewall-cmd --zone=publ ...

随机推荐

  1. Xenon's Attack on the Gangs,题解

    题目: 题意: 有一个n个节点的树,边权为0-n-2,定义mex(a,b)表示除了ab路径上的自然数以外的最小的自然数,求如何分配边权使得所有的mex(a,b)之和最大. 分析: 看似有点乱,我们先不 ...

  2. SSTI-服务端模板注入

    SSTI-服务端模板注入漏洞 原理: 服务端模板注入是由于服务端接收了用户的输入,将其作为 Web 应用模板内容的一部分,在进行目标编译渲染的过程中,执行了用户插入的恶意内容,因而导致了敏感信息泄露. ...

  3. 线下---复习day03

    目录 django回顾 1 web应用,http协议,web框架 2 django请求生命周期 3 路由控制 4 视图层 5 模板层 6 模型层 django回顾 1 web应用,http协议,web ...

  4. (六)pandas 日常使用技巧

    pandas数据处理 1.删除重复元素 import numpy as np import pandas as pd from pandas import Series,DataFrame df = ...

  5. 百万级别数据Excel导出优化

    前提 这篇文章不是标题党,下文会通过一个仿真例子分析如何优化百万级别数据Excel导出. 笔者负责维护的一个数据查询和数据导出服务是一个相对远古的单点应用,在上一次云迁移之后扩展为双节点部署,但是发现 ...

  6. 机器学习实战基础(十二):sklearn中的数据预处理和特征工程(五) 数据预处理 Preprocessing & Impute 之 处理分类特征:处理连续性特征 二值化与分段

    处理连续性特征 二值化与分段 sklearn.preprocessing.Binarizer根据阈值将数据二值化(将特征值设置为0或1),用于处理连续型变量.大于阈值的值映射为1,而小于或等于阈值的值 ...

  7. Ethical Hacking - GAINING ACCESS(6)

    Server Side Attack Analysing scan results and exploiting target system. Go to the Analysis page and ...

  8. springboot application.yml配置学习

    一.背景 为了更好的使用springboot,所以看一下application.yml配置这块.主要是看数据绑定这块. 主要参考:https://www.hangge.com/blog/cache/d ...

  9. js中实现继承的方法

    目录 借用构造函数 组合继承 原型式继承 寄生式继承 寄生组合式继承 借用构造函数 这种技术的基本思想很简单,就是在子类型构造函数的内部调用超类型的构造函数.另外,函数只不过是在特定环境中执行代码的对 ...

  10. web自动化 -- HTMLreport(一)测试报告自定义测试用例名,重写ddt

    一.需求痛点 1.HTMLreport测试报告的用例名不明确 2.希望可以自定义HTMLreport测试报告的用例名 3.痛点截图 二.解决办法 1.原因分析 HTMLreport测试报告中的用例名是 ...