一,部署的准备工作

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的配置

1,配置
manage jenkins->Global Tool Configuration
完成后点保存 

2,安装maven的插件:

manage jenkins->manage plugins
点 可选插件,找到maven integration,选中
 
点 直接安装 按纽 

三,创建项目

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

  1. R shiny 小工具Windows本地打包部署

    目录 服务器部署简介 windows打包部署 1. 部署基本框架 2.安装shiny脚本需要的依赖包 3.创建运行shiny的程序 [报错解决]无法定位程序输入点EXTPTE_PTR于动态链接库 将小 ...

  2. Jenkins+Ant/maven+Svn实现自动化部署,编译,运行,测试结果自动邮件通知

    Jenkins+Ant+Svn实现自动化部署,编译,运行,测试结果自动邮件通知

  3. spring boot maven多模块打包部署到tomcat

    @SpringBootApplication(scanBasePackages = {"com.xxx.*"}) public class ApiApplication exten ...

  4. ZH奶酪:LAMP环境中如何重新部署一个Yii2.0 web项目

    使用Yii2.0 framework开发的项目,使用Github进行版本控制,现在要把这个项目部署到一个新的电脑/系统中: (1)安装LAMP (2)在/var/www/html目录下执行 git c ...

  5. Ubuntu上部署一个简单的Java项目

    一.安装tomcat7,mysql,Java JDK,直接apt安装 $ sudo aptitude install tomcat7 $ -jdk openjdk--jre $ sudo aptitu ...

  6. Eclipse中创建一个新的SpringBoot项目

    在Eclipse中创建一个新的spring Boot项目: 1. 首先在Eclipse中安装STS插件:在Eclipse主窗口中点击 Help -> Eclipse Marketplace... ...

  7. IntelliJ IDEA搭建一个简单的springboot项目

    一.IDEA 安装包 百度网盘链接:https://pan.baidu.com/s/1MYgZaBVWXgy64KxnoeJSyg 提取码:7dh2 IDEA注册码获取:http://idea.lan ...

  8. 微信小程序 部署(后台是springboot项目 前后台分流)

    微信小程序的部署需要https 和证书: https 需要反向代理: 这里用 nginx,无论linux,windows 系统都可以安装: 1.安装nginx ,这步自己去做: linux 安装ngi ...

  9. idea搭建一个简单的springboot项目

    1.file->new->project 2.选中Spring  Initializr 3.填写项目信息: 4.选中Web -> Spring Web

随机推荐

  1. Java 的各种内部类、Lambda表达式

    内部类 内部类是指在一个外部类的内部再定义一个类.内部类的出现,再次打破了Java单继承的局限性. 内部类可以是静态 static 的,也可用 public,default,protected 和 p ...

  2. 调整JavaScript抽象的迭代方案

    原文链接:Adapting JavaScript Abstractions Over Time 译者:小溪里 校对者:郭华翔.苗冬青 即使还没有读过我的文章<在处理网络数据的 JavaScrip ...

  3. oracle之二ASM 管理

    Oracle ASM 管理(PPT-II:602-636) 16.1 什么是ASM 自动存储管理即ASM(Automatic Storage Management),是Oracle提供的一项管理磁盘的 ...

  4. 总结SUMMARY

    Summary 多线程 多线程 pthread NSThread 创建线程的方式 NSThread 的 Target 线程状态 线程属性 资源共享 原子属性 线程间通讯 GCD 同步 & 异步 ...

  5. [剑指Offer]33-根据后序序列判断是否能组成BST

    题目 如题. 题解 从序列第一个大于根节点的值往后都是右子树,判断右子树是否都大于根节点. 然后递归判断左右子树是否是BST 代码 class TreeNode { int val = 0; Tree ...

  6. Vue开发电子书app

    ebook-app 在根目录下创建vue.config.js文件 module.export = { baseUrl: process.env.NODE_ENV === 'production' ? ...

  7. 最全总结 | 聊聊 Python 数据处理全家桶(Sqlite篇)

    1. 前言 上篇文章 聊到 Python 处理 Mysql 数据库最常见的两种方式,本篇文章继续说另外一种比较常用的数据库:Sqlite Sqlite 是一种 嵌入式数据库,数据库就是一个文件,体积很 ...

  8. 3.GoolgeProtoBuffer序列化反序列化

  9. 渗透测试之信息收集(Web安全攻防渗透测试实战指南第1章)

    收集域名信息 获得对象域名之后,需要收集域名的注册信息,包括该域名的DNS服务器信息和注册人的联系方式等. whois查询 对于中小型站点而言,域名所有人往往就是管理员,因此得到注册人的姓名和邮箱信息 ...

  10. Spring学习(十)--Spring的AOP

    1.Spring AOP拦截器 (1)设计原理 Spring AOP在通过JDK的Proxy或者CGLIB方式生成代理对象的时候,拦截器的相关信息就配置到代理对象中了. 1)如果使用JDK的Proxy ...