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. 什么?你还不会通过纯js提交表单?

    如果程序已经封装好了, 不管后台是java .asp.net   .还是php   ?这个时候你的客户突然追加说我要 追加表单验证?   what  妇产科    怎么办? submit  自带刷新效 ...

  2. 利用SignalR实施响应股票数据波动

    1.新建ASP.NET Web应用程序,  选择Empty模板. 2.创建Stock.cs类 public class Stock { /// <summary> /// 价格 /// & ...

  3. 使用virtualBox 创建虚拟机

    第一次使用感觉并没有VMware好用,尤其是鼠标在虚拟机和宿主机之间切换的时候很烦,需要按键盘右边ctrl虽然有提示right ctrl但是第一次使用硬是折腾了好半天.感觉不记录一下对不起这个下午. ...

  4. 题解:2018级算法第四次上机 C4-商人卖鱼

    题目描述: 样例: 实现解释: 需要简单分析的贪心题 知识点: 贪心,自定义排序,提前存储 题目分析: 卖鱼,鱼卖出去需要时间,鱼没被卖出去之前需要吃饲料 则有,如果卖a鱼的话b鱼会吃饲料c份,而卖b ...

  5. 三、python函数详解

    函数的定义: 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 定义规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(). 任何传入参数和自变量必须放在圆括号中间 ...

  6. java 面向对象(三十九):反射(三)了解ClassLoader

    1.类的加载过程----了解 2.类的加载器的作用 3.类的加载器的分类 4.Java类编译.运行的执行的流程 5.使用Classloader加载src目录下的配置文件 @Test public vo ...

  7. J.U.C体系进阶(四):juc-sync 同步器框架

    Java - J.U.C体系进阶 作者:Kerwin 邮箱:806857264@qq.com 说到做到,就是我的忍道! juc-sync 同步器框架 同步器名称 作用 CountDownLatch 倒 ...

  8. Web Scraping using Python Scrapy_BS4 - using Scrapy and Python(1)

    Create a new Scrapy project first. scrapy startproject projectName . Open this project in Visual Stu ...

  9. OGG19.1 oracle12c到oracle12c经典模式配置实施

    OGG19.1 oracle12c到oracle12c经典和集成模式配置实施 目的说明 本文提供Oracle GoldenGate在Oracle db到Oracle db的数据复制安装配置指导,适用于 ...

  10. Redis如何存储和计算一亿用户的活跃度

    1 前段时间,在网上看到一道面试题: 如何用redis存储统计1亿用户一年的登陆情况,并快速检索任意时间窗口内的活跃用户数量. 觉得很有意思,就仔细想了下 .并做了一系列实验,自己模拟了下 .还是有点 ...