(五)devops持续集成开发——jenkins发布一个maven流水线项目

news2024/10/3 2:23:15

前言

本节内容使用jenkins的maven流水线组件发布一个springboot项目,实现自动化部署一个后端项目。在开始流水化部署前我们需要准备好一个git项目,并在jenkins所在的服务器安装好git客户端便于源码的拉取。并且需要安装一个ssh插件,将我们的项目发布到真实的服务器上运行。

正文

  • 安装git环境

①安装命令:yum -y install git

②查看git客户端安装情况

git --version

③保证jenkins的git环境正常

  • 安装ssh插件 

①点击系统管理->插件管理,搜索Publish Over SSH插件并安装

 ②插件安装完成并重启jenkins,使得ssh功能生效,点击系统管理->系统配置,进入ssh服务配置

③配置运行环境服务器并保存

  •  发布项目

①点击新建任务,输入任务名称,选择构建一个maven项目

 ②填写基本构建信息

③选择git,填写项目git地址并录入git账号信息

④点击添加,添加git账户信息

 ⑤点击构建环境,发布项目

⑥ 点击build,配置maven构建

⑦编译成功CD项目

 ⑧保存maven流水线配置

⑨在项目所在服务器上创建项目启动脚本

JAR=ht-atp-plat-0.0.1-SNAPSHOT.jar
PORT=7777
pid=$(netstat -tunlp|grep ${PORT}|grep -v grep|awk '{print $7}'|xargs -d/|awk '{print $1}')
echo "pid= ${pid}"

if [ -n "${pid}" ]; then
   kill -9 ${pid}
   echo "kill -9 ${pid}"
fi

echo "service is starting"
nohup java -jar -Xms512m -Xmx512m -Xmn512 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./logs/gc/gc.hprof -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError -Xloggc:./logs/gclogs/gc.log ${JAR} --spring.profiles.active=prod >>run.log 2>&1 &
echo "service is complete"

 

⑩启动流水线工程,验证服务

 ​​​

结语

至此,关于jenkins发布一个maven流水线项目到这里就结束了,下期见。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/127679.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++学习:多态与运算符(Day.7~)

总结让人明白。 表明覆盖意图的限定符 override 如图: 说明:1.使用关键字const后,由于函数特征不同,派生类不会再隐藏基类方法 2.想要覆盖基类方法可使用关键字override,此关键字会强制覆盖基类方法,若…

微信功能,你知道多少

用了微信很多年,选择才发现微信收藏的正确打开方式!感觉之前白用了那么久微信收藏,只用来保存消息实在是太可惜了,原来它还有那么多实用功能!协助日常安排如果每天需要做的事情比较多,可以在这里记录日常工…

谷粒商城之高级篇知识补充

谷粒商城高级篇之知识补充 前言 本篇主要是完成谷粒商城高级篇开发时,我们需要了解并学习一部分补充的知识,才能更好的完成商城业务。 以后我们将商城任务和额外知识分开来编写,方便商城业务的连贯性。 下面是本篇文章各个章节对应的相应…

Apollo星火计划学习笔记——Apollo速度规划算法原理与实践

文章目录1. 速度规划算法总体介绍1.2 不同场景下的ST图1.2.1 主车向前匀速行驶1.2.2 主车先向前匀速行驶,后停车1.2.3 主车跟随前车行驶1.2.4 主车跟随前车刹停1.2.5 障碍车在主车后方跟行1.3 速度规划算法整体流程1.3.1 Task: SPEED_BOUNDS_PRIORI_DECI…

数据结构-堆

1、什么是堆 堆是一种满足以下条件的树:堆中的每一个节点值都大于等于(或小于等于)子树中所有节点的值。 2、堆的用途 当我们只关心所有数据中的最大值或者最小值,存在多次获取最大值或者最小值,多次插入或删除数据时&…

ArrayList与顺序表(一)

目录 1.线性表 2.顺序表 2.1接口的实现 3.ArrayList的简介 4.ArrayList使用 4.1ArrayList的构造 4.2ArrayList常见的操作 4.3ArrayList的遍历 4.4ArrayList的扩容机制 5.模拟实现一个ArrayList 1.线性表 线性表:是n个具有相同特性的数据元素的有限序列。线性…

[思考进阶]04 优秀的人,都在使用“微习惯”

除了要提升自己的技术能力,思维的学习和成长也非常非常重要,特推出此[思考进阶]系列,进行刻意练习,从而提升自己的认知。 我有个微信群,人很少,都是兄弟,每天打开电脑的时候,我都会有…

朴素贝叶斯分类的python的实现

文章目录介绍GaussianNB()参数介绍实例BernoulliNB()参数介绍实例MultinomialNB()参数介绍实例作者:王乐介绍 sklearn 是 scikit–learn 的简称,是一个基于 Python 的第三方模块。 sklearn 库集成了一些常用的机器学习方法,在进行机器学习任务时,并不需要实现算法,…

Java 并发编程解析 | 如何正确理解Java领域中的并发锁,我们应该具体掌握到什么程度?

写在开头 对于Java领域中的锁,其实从接触Java至今,我相信每一位Java Developer都会有这样的一个感觉?不论是Java对锁的实现还是应用,真的是一种“群英荟萃”,而且每一种锁都有点各有各的驴,各有各的本&…

#P13787. [NOIP2021] 报数

目录 一,题目 二,题意分析 三,做法 1.直接模拟题意 2,用筛法来解 3,正解(加上记忆化) 一,题目 二,题意分析 题目意思是说:每次输入一个数,然后先判断这个数是否为某一个十进制中包含7的数…

Redis 为什么这么快?

1.基于内存实现 Redis 是基于内存的数据库,跟磁盘数据库相比,完全吊打磁盘的速度。 2.高效的数据结构 Redis 一共有 5 种数据类型,String、List、Hash、Set、SortedSet。 不同的数据类型底层使用了一种或者多种数据结构来支撑,目的…

如何选择适合自己的进销存系统软件?

选择一款合适的进销存软件,可以有效解决企业生产经营中业务管理、分销管理、存货管理、营销计划的执行和监控、统计信息的收集等方面的业务问题。 进销存软件一直是一个热门话题,别急,我这就来给你介绍。 一、进销存管理软件 这里我要推荐…

计算机系统概述

计算机系统概述一、操作系统的概念1、定义2、功能和目标二 、操作系统特征1、并发性2、共享性3、虚拟性4、异步性三、操作系统的发展1、手工操作阶段2、批处理阶段——单道批处理系统2、批处理阶段——多道批处理系统3、实时操作系统四、运行机制和体系结构1、运行机制①指令②…

Gitea 的邮件通知

有这样的一个需求,当仓库中被推送或者更新代码的时候,希望在邮件中收到邮件通知。 Gitea 是可以实现这个功能的,但是在默认情况下这个功能是关闭的。 修改配置文件 根据 Gitea 的安装不同,我们的配置文件在:vi /etc…

【正点原子FPGA连载】第六章Petalinux设计流程实战摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Linux开发指南

1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id692450874670 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第六章Petalinux…

【CS硕士三年级BetterBench】2022年终总结(脚踏实地,仰望星空)

2022年终总结 回忆录 2022年焦虑和快乐是这一年中最大的两种情绪了。焦虑主要是因为心里的三块石头,从年初就开始悬着。第一块石头,科研论文录用,第二个石头,拿到国奖,第三个石头是拿到满意的offer。目前只剩下最后一…

【Linux】多文件编译

目录 多文件编译 为什么要分两步编译: makefile文件 makefile里面安装 更改可调式版本 对比Windows中的VS 多文件编译 有以下文件 分两步: 第一步编译:.c->.o 第二步链接(可以不用写头文件):.o-…

《图解TCP/IP》阅读笔记(第九章)—— 网络安全相关

第九章 网络安全 本章旨在介绍互联网中网络安全的重要性及其相关的实现技术。 本章的内容在我看来,并没有前几章那么重要,大概有所了解就好。 9.1 TCP/IP与网络安全 起初,TCP/IP只用于一个相对封闭的环境,后来才发展为并无太多…

Python编程 匿名函数,高阶函数

作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.匿名函数 1.匿名函数介绍 匿名函数应用 匿名函数作返回值 匿名函数作…

【数据结构】超详细!从HashMap到ConcurrentMap,我是如何一步步实现线程安全的!

什么是HashMap? 在了解 HashMap 之前先了解一下什么是 Map; 什么是Map? 定义 Map 是一个用于存储 Key-Value 键值对的集合类,也就是一组键值对的映射,在 Java 中 Map 是一个接口,是和 Collection 接口同…