Jenkins:用maven在本地打包部署一个github的springboot项目(Jenkins 2.257)
一,部署的准备工作
1,测试项目的地址:
https://github.com/liuhongdi/profile
是一个空白项目
2,准备java环境:参见:
https://www.cnblogs.com/architectforest/p/13378234.html
3,准备maven环境,参见:
https://www.cnblogs.com/architectforest/p/12965957.html
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,Jenkins的配置
2,安装maven的插件:
三,创建项目
1, 新建item->项目名称: profilemaven,选择:构建一个maven项目

然后点确定
2,对项目做配置:

在github项目中,输入项目url


post steps:
输入 /data/cmd/jenkins/startup.sh
最后点 保存 按钮
3,脚本的内容:
[root@localhost jenkins]# more /data/cmd/jenkins/startup.sh
#!/bin/bash
export BUILD_ID=dontKillme WORKSPACE=/root/.jenkins/workspace/profilemaven
JDK_PATH=/usr/local/soft/jdk-12.0.2/bin/java
JAR_NAME=demo-0.0.1-SNAPSHOT.jar echo ${JAR_NAME}
echo "ps -ef | grep ${JAR_NAME} | grep -v grep | awk '{print \$2}'";
PID=`ps -ef | grep ${JAR_NAME} | grep -v grep | grep -v startup | awk '{print \$2}'`
echo $PID;
if [ ! "$PID" ] ;then
echo "进程不存在"
else
echo "进程存在,杀死进程PID$PID"
kill -9 $PID
fi echo "服务启动开始"
nohup ${JDK_PATH} -jar ${WORKSPACE}/target/${JAR_NAME} &
四,运行:构建项目

在项目页面,点击 build now 进行构建
五,查看日志

进入某次构建可以查看其日志,点击 控制台输出 即可

六,测试效果
1,查看进程:
[root@localhost jenkins]# ps auxfww
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
...
root 5826 0.4 3.5 3835328 143084 pts/1 Sl+ 17:00 0:11 /usr/local/soft/jdk-12.0.2/bin/java -jar /root/.jenkins/workspace/profilemaven/target/demo-0.0.1-SNAPSHOT.jar
可以看到jar包已经在运行中了
2,访问地址:
http://127.0.0.1:8080/home/home
返回:
this is home/home page
如图:

七,查看java版本
[root@localhost jenkins]# java --version
java 13 2019-09-17
Java(TM) SE Runtime Environment (build 13+33)
Java HotSpot(TM) 64-Bit Server VM (build 13+33, mixed mode, sharing)
八,查看Jenkins版本
在登录后首页的右下角,可以看到当前的版本:2.257

Jenkins:用maven在本地打包部署一个github的springboot项目(Jenkins 2.257)的更多相关文章
- R shiny 小工具Windows本地打包部署
目录 服务器部署简介 windows打包部署 1. 部署基本框架 2.安装shiny脚本需要的依赖包 3.创建运行shiny的程序 [报错解决]无法定位程序输入点EXTPTE_PTR于动态链接库 将小 ...
- Jenkins+Ant/maven+Svn实现自动化部署,编译,运行,测试结果自动邮件通知
Jenkins+Ant+Svn实现自动化部署,编译,运行,测试结果自动邮件通知
- spring boot maven多模块打包部署到tomcat
@SpringBootApplication(scanBasePackages = {"com.xxx.*"}) public class ApiApplication exten ...
- ZH奶酪:LAMP环境中如何重新部署一个Yii2.0 web项目
使用Yii2.0 framework开发的项目,使用Github进行版本控制,现在要把这个项目部署到一个新的电脑/系统中: (1)安装LAMP (2)在/var/www/html目录下执行 git c ...
- Ubuntu上部署一个简单的Java项目
一.安装tomcat7,mysql,Java JDK,直接apt安装 $ sudo aptitude install tomcat7 $ -jdk openjdk--jre $ sudo aptitu ...
- Eclipse中创建一个新的SpringBoot项目
在Eclipse中创建一个新的spring Boot项目: 1. 首先在Eclipse中安装STS插件:在Eclipse主窗口中点击 Help -> Eclipse Marketplace... ...
- IntelliJ IDEA搭建一个简单的springboot项目
一.IDEA 安装包 百度网盘链接:https://pan.baidu.com/s/1MYgZaBVWXgy64KxnoeJSyg 提取码:7dh2 IDEA注册码获取:http://idea.lan ...
- 微信小程序 部署(后台是springboot项目 前后台分流)
微信小程序的部署需要https 和证书: https 需要反向代理: 这里用 nginx,无论linux,windows 系统都可以安装: 1.安装nginx ,这步自己去做: linux 安装ngi ...
- idea搭建一个简单的springboot项目
1.file->new->project 2.选中Spring Initializr 3.填写项目信息: 4.选中Web -> Spring Web
随机推荐
- Java 的各种内部类、Lambda表达式
内部类 内部类是指在一个外部类的内部再定义一个类.内部类的出现,再次打破了Java单继承的局限性. 内部类可以是静态 static 的,也可用 public,default,protected 和 p ...
- 调整JavaScript抽象的迭代方案
原文链接:Adapting JavaScript Abstractions Over Time 译者:小溪里 校对者:郭华翔.苗冬青 即使还没有读过我的文章<在处理网络数据的 JavaScrip ...
- oracle之二ASM 管理
Oracle ASM 管理(PPT-II:602-636) 16.1 什么是ASM 自动存储管理即ASM(Automatic Storage Management),是Oracle提供的一项管理磁盘的 ...
- 总结SUMMARY
Summary 多线程 多线程 pthread NSThread 创建线程的方式 NSThread 的 Target 线程状态 线程属性 资源共享 原子属性 线程间通讯 GCD 同步 & 异步 ...
- [剑指Offer]33-根据后序序列判断是否能组成BST
题目 如题. 题解 从序列第一个大于根节点的值往后都是右子树,判断右子树是否都大于根节点. 然后递归判断左右子树是否是BST 代码 class TreeNode { int val = 0; Tree ...
- Vue开发电子书app
ebook-app 在根目录下创建vue.config.js文件 module.export = { baseUrl: process.env.NODE_ENV === 'production' ? ...
- 最全总结 | 聊聊 Python 数据处理全家桶(Sqlite篇)
1. 前言 上篇文章 聊到 Python 处理 Mysql 数据库最常见的两种方式,本篇文章继续说另外一种比较常用的数据库:Sqlite Sqlite 是一种 嵌入式数据库,数据库就是一个文件,体积很 ...
- 3.GoolgeProtoBuffer序列化反序列化
- 渗透测试之信息收集(Web安全攻防渗透测试实战指南第1章)
收集域名信息 获得对象域名之后,需要收集域名的注册信息,包括该域名的DNS服务器信息和注册人的联系方式等. whois查询 对于中小型站点而言,域名所有人往往就是管理员,因此得到注册人的姓名和邮箱信息 ...
- Spring学习(十)--Spring的AOP
1.Spring AOP拦截器 (1)设计原理 Spring AOP在通过JDK的Proxy或者CGLIB方式生成代理对象的时候,拦截器的相关信息就配置到代理对象中了. 1)如果使用JDK的Proxy ...