jenkins打包java maven项目
一、maven本地配置
1、修改apache-maven-3.6.1\conf\settings.xml文件,把仓库配置成本地仓库
<localRepository>D:\apache-maven-3.6.1\repository</localRepository>
2、在apache-maven-3.6.1\conf\settings.xml.文件添加获取jar包的地址
<mirror> <id>proxied-releases</id> <name>Release Mirror</name> <url>https://www.test.test/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>
id、name随意添加,不影响
url 值为公司maven私服地址或 阿里maven 地址
二、maven的Jenkins配置
1、打开Jenkins设置全局工具设置,配置如下,文件路径为本地 maven setting.xml 文件路径

Name 为maven版本,MAVEN_HOME 为maven安装路径

三、Jenkins项目任务配置
1、构建配置

Root POM:拉取项目代码的 pom.xml 文件
Goals and options:构建所使用的命令
命令解析:clean -PQA -DskipTests package install:清除旧项目后使用配置文件中的QA配置进行打包target下的jar安装到本地仓库
clean:clean有两种
maven clean:maven clean是maven的一个清洁生命周期,目的是删除build目录下的构建输出,体现在文件系统上是删除了Target目录所有文件,包括该目录
project clean:project clean是IDE对已经生成的class文件的删除操作,体现在文件系统上是只删除了Target目录中classes文件夹中所有内容
mvn package -Pqa -DskipTests
package :基本命令,进行打包
-Pqa:项目开发需要有多个环境,一般为开发,测试,预发布,正式4个环境,通过maven可以实现按不同环境进行打包部署。也就是dev(开发)、qa(测试)、pre(预发)、生产正式(prod)四个环境,对应的都有各自的配置文件properties。
通过 -P 传入环境id参数就可以选择环境,比如传入 qa,即命令 -Pqa 。会得到 qa.peroperties 配置文件,这是因为在 pom.xml 文件中有这样的配置
<profiles>
<!-- 默认 -->
<profile>
<id>dev</id>
<properties>
<profile.active>dev</profile.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!-- 质检 -->
<profile>
<id>QA</id>
<properties>
<profile.active>QA</profile.active>
</properties>
</profile>
<!-- 生产 -->
<profile>
<id>pro</id>
<properties>
<profile.active>pro</profile.active>
</properties>
</profile>
</profiles>
<build>
<filters>
<filter>src/main/resources/env/${env}.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/resources/</directory>
<filtering>true</filtering>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
....
</build>
其中${env}.properties就是让我们传入环境参数qa、dev、prod、pre。
- DskipTests:跳过测试,否则打包过程很慢
2、压缩命令

Run only if build succeeds:项目构建成功才运行脚本
cd /d F:\Jenkins\workspace\dcpay_platform_support\target E:\WinRAR\WinRAR.exe a -ibck dcpay_platform_support.zip dcpay_platform_support.war
脚本代码解析:进入项目下的 target 目录,把打包后的项目 war 包压缩成 .zip 格式
3、上传压缩包到服务器配置
1)下载 Publish Over SSH 插件
2)在Jenkins系统设置里添加服务器

Name:名称
Hostname:服务器SSH地址
Username:连接服务器用户名
Remote Directectory:上到服务器的目录
Passphrase / Password:服务器密码
Port:服务器端口号
Timeout:连接超时时间
3)项目任务中配置

Name:服务器名称(上一步在Jenkins系统设置里添加的服务器)
Source files:要上传的文件路径(默认是从当前项目任务目录下的路径,也就是 F:\Jenkins\workspace\dcpay_stat_center\target\dcpay_platform_support.zip)
Remove prefix:要删除的文件路径名称前缀,Source files 为 target/dcpay_platform_support.zip,也就是说要删除 target,只上传 dcpay_platform_support.zip 到服务器
Remote directory:要上传到的服务器目录,上一步中设置为 /home/deploy/ 加上 jenkins,就是说上传 dcpay_platform_support.zip 到服务器的 /home/deploy/jenkins 目录下
4、在远程服务器执行 shell 代码
1)下载 SSH plugin 插件
2)添加Jenkins全局凭证

用户名:服务器用户名
密码:服务器密码
3)到Jenkins系统设置里添加服务器

Credentials:上一步添加的服务器用户名,也可以在这重新添加服务器
4)远程服务器配置、执行脚本代码解析

SSH site:上一步配置的服务器
Command:要执行的 shell 代码
jenkins远程执行shell命令必须要声明环境变量
停止服务 ——> 删除旧包 ——> 拷贝新包 ——> 启动新包
Execute each line:执行每一行命令,不要勾选,会导致设置java环境变量报错
Hide command from console output:在jenkins控制台输出远程执行的命令结果

jenkins打包java maven项目的更多相关文章
- 【IDEA使用技巧】(4) —— IDEA 构建Java Maven项目、导入Eclipse项目、多Module Maven项目
1.IntelliJ IDEA构建Java Maven项目 1.1. IDEA构建Java Maven项目 ①选择Create New Project,选择创建Maven项目,并勾选Create fr ...
- Java Maven项目之Nexus私服搭建和版本管理应用
转载自:https://cloud.tencent.com/developer/article/1010603 1.Nexus介绍 Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓 ...
- jenkins打包java项目缺少jar包问题解决
java项目在使用jenkins打包时个别jar包可能会没有下载到本地,这时候就要用命令行本地安装一下 打包时基础jar包报错如图: 黑框里依次为: 组ID:-DgroupId=com.azazar ...
- Redhat上为java Maven项目构建基于Jenkins + Github的持续集成环境
在Redhat enterprise 6.5 的服务器上,为在gutub 上的 java mvaen项目构建一个持续集成环境,用到了Jenkins.因公司的服务器在内网,访问外网时要通过代理,所以为m ...
- 关于Maven打包Java Web项目以及热部署插件Jrebel的使用
Java Web/Eclipse/Maven/Tomcat 最近有个新项目是java web项目,记录一下,可能比较乱.虽然没接触过Java,但是eclipse还是用过的 初识项目 同事说,项目是ma ...
- Jenkins 打包 java项目时 丢失 配置文件(resource)
使用IDEA开发的spring boot 项目在本地打包运行可以,但是利用Jenkins打包运行提示读取不到配置文件中的变量,打开jar包发现里面没有配置文件.解决方法是在pom中增加如下配置 < ...
- idea打包springboot+maven项目并发布在linux上
2018年11月13日我亲测有效的,很简单的,借鉴博客:https://blog.csdn.net/smilecall/article/details/56288972 第一步:随便建一个maven类 ...
- jenkins构建一个maven项目[五]
标签(linux): jenkins 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 构建一个maven项目,即为构建java项目.模拟实验之前先把实验代码推送到 ...
- 使用jenkins构建一个maven项目
1.登陆到jenkins首页,创建项目-->选择maven-->输入项目名称-->选择项目类型 2.进入项目配置:{先写一下项目描述和设置下保留的历史构建,然后向下拉} 找到源吗管理 ...
随机推荐
- 【Java】AES加机解密工具类代码
import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import javax.crypt ...
- Java indexof
java中字符串方法 indexof() indexof()可以返回输入的字符串在目标字符串中第一次出现的位置,如果没有出现返回int 0:
- LDA线性判别分析原理及python应用(葡萄酒案例分析)
目录 线性判别分析(LDA)数据降维及案例实战 一.LDA是什么 二.计算散布矩阵 三.线性判别式及特征选择 四.样本数据降维投影 五.完整代码 结语 一.LDA是什么 LDA概念及与PCA区别 LD ...
- 【POJ2976】Dropping tests - 01分数规划
Description In a certain course, you take n tests. If you get ai out of bi questions correct on test ...
- 《MySQL必知必会》过滤数据,数据过滤(where ,in ,null ,not)
<MySQL必知必会>过滤数据,数据过滤 1.过滤数据 1.1 使用 where 子句 在SEL ECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤. WHERE子句在表名(FR ...
- docker-machine在阿里云部署批量部署docker
概述 docker入门中,docker swarm都是在本机的虚拟机上,为了更贴近生产环境,我将这部分重新部署到阿里云.不需要太贵,选最便宜的按量付费ECS,1小时才0.05元. docker-mac ...
- eclipse及idea使用问题记录
使用eclipse或idea的时候会遇到各式各样的小问题,解决方案其实网上也大都搜得到,但是下次遇到的时候总是想不起来如何解决,还要花费时间再次查资料.所以以后把遇到的问题都记录一下. Eclipse ...
- java应用中的日志介绍
日志在应用程序中是非常非常重要的,好的日志信息能有助于我们在程序出现 BUG 时能快速进行定位,并能找出其中的原因. 但是,很多介绍 AOP 的地方都采用日志来作为介绍,实际上日志要采用切面的话是极其 ...
- 解决MySql Access denied for user 'root'@'192.168.1.119' to databse 的问题
因为ip未授权,在navicat中执行 grant all privileges on *.* to 'root'@'192.168.1.119' identified by 'root' with ...
- C++ Templates (1.4 默认模板实参 Default Template Arguments)
返回完整目录 目录 1.4 默认模板实参 Default Template Arguments 1.4 默认模板实参 Default Template Arguments 可以为模板参数定义默认值,这 ...