jenkins部署maven项目

薄洪涛5个月前JAVA3125

1. 环境配置

jenkins安装 Maven Integration plugin插件

配置maven,java等路径

2. 2.新建item,选择构建maven项目

a. 2.1 源码管理

填入git地址、所使用授权用户、分支

2.2 build配置
Root POM

pom.xml

Goals and options

clean package -DskipTests

2.3 Post Steps

勾选Run only if build succeeds

Add post-build step-exec shell,脚本内容如下

# Jenkins project name
PROJECT_NAME=nhis-service
# project main module
PROJECT_MAIN=nhis-web
# Jenkins build id
OLD_BUILD_ID=$BUILD_ID
# Manven project name
APP_NAME=nhis-service
# Base directotry in server
APP_BASE_DIR=/home/zrapi/$APP_NAME
echo "Build [$APP_NAME] successfully!"
cd $APP_BASE_DIR
cp $JENKINS_HOME/workspace/$PROJECT_NAME/$PROJECT_MAIN/target/$APP_NAME.jar ./
# 改变 Jenkins BUILD_ID防止脚本没执行完就被杀死
export BUILD_ID=dontKillMe
# 恢复Jenkins BUILD_ID
export BUILD_ID=$OLD_BUILD_ID

此时编译成功后,jar包会在/root/.jenkins/workspace/xxx/xxx 下

再次Add post-build step-exec shell,脚本内容如下

sudo systemctl restart 服务名称


标签: mavenjenkins

相关文章

Springboot+Kotlin的搭建

Springboot+Kotlin的搭建

不少公司觉得php的性能较低,于是采用java做逻辑处理,php做表现层的做法,个人觉得对于业务量比较复杂,安全性要求较高的项目,可以采用此类做法;于是我学着搭建了一个基于spring boot的接口...

springboot 数据校验

使用import javax.validation.constraints.NotNull import javax.validation.constraints.Size cl...

RabbitMq交换机类型

RabbitMq交换机类型

direct路由键和队列名完全匹配,才可以消费如果绑定时设置了routing key为”abc”,那么客户端提交的消息,只有设置了key为”abc”的才会投递到队列fanout还有一种不需要key的,...

接口熔断器resilience4j的使用

pom引入<!-- 熔断器 : https://mvnrepository.com/artifact/io.github.resilience4j/resilien...

docker-swarm部署java项目

技术栈Java 版本: 17Spring Boot 版本: 3.xMyBatis-Plus: 简化 MyBatis 操作的增强工具PostgreSQL: 关系型数据库Redis: 分布式缓存解决方案R...

设计模式之策略模式

在开始之前,我们先看一下一个令人不爽的写法if ($k == 0) {   // do something } ...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。