自动化部署利器:Jenkins+Gitlab助力Springboot项目快速上线,实现持续集成与持续交付!

news2024/11/29 10:49:30

Jenkins 能干什么

在这里插入图片描述
来自官网

官网

Jenkins怎么用【Linux版】

下载 war包在这里插入图片描述

本机为Java8 选择Jenkins版本为2.289.1

在这里插入图片描述
注意: 如果是Java8 尽量和我的Jenkins版本保持一致哈!后面可能会遇到各种坑。
在这里插入图片描述
把下载好的war放到Linux服务器的某一个目录下

启动war

nohup java -jar jenkins.war --httpPort=8010 &

密码

在这里插入图片描述

登录web页面

浏览器访问Jenkins页面(http://192.168.4.30:8010 )

在这里插入图片描述

填写上面的密码

安装插件

在这里插入图片描述
在这里插入图片描述
等待一会。。。。。。

设置用户

在这里插入图片描述

实例设置

在这里插入图片描述

保存并完成
在这里插入图片描述

适配插件json(版本很重要)(坑)

本次重点讲述jdk8版本下的jenkins插件安装问题。当我们通过rpm或者war包部署的适配jdk1.8版本的jenkins启动后,如果想要下载对应如github插件,都会提示让我们更新jenkins到比较新的版本,而更新新版的jenkins又必须使用jdk11及以上的版本,无法满足我们强制要求使用jdk1.8版本的要求。所以需要更改jenkins自动检测更新设置从而满足适配jdk1.8版本的jenkins插件问题。

如图所示为插件安装失败,因这些插件都需要高版本的jenkins支持,如果使用jdk1.8版本的jenkins无法满足要求。

2)修改Jenkins插件下载地址

第一步:进入jenkins设置后的目录下找到default.json文件,可执行sudo find / -name default.json 命令查找,如下图:

如图,default.json文件所在目录为/home/admin/.jenkins/updates,进入此目录下,备份default.json文件,

再进入镜像清华镜像链接下找到对应jenkins版本的json文件,复制里面内容替换到defualt.json文件中去。如下图所示:

第二步:在Manage Plugins -->Manage Plugins -->Advanced 中,把Update Site修改为国内插件地址

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

最后重启jenkins再重新登录后,再去下载插件就不会提示让你更新最新的jenkins来适配了。


centos7下部署jenkins+jdk8+适配插件下载

Jenkins+ Gitlab自动化构建部署Springboot项目

插件下载与推荐

  • SSH //执行远程脚本
  • Publish Over SSH //发送jar包至服务器
  • gitlab //集成gitlab用
  • maven //创建maven项目,减少所需配置

部署java项目(GIT管理)Exec command配置说明

source /etc/profile 
cd /root/.jenkins/workspace/song-chat     
isServerExist=`ps -ef|grep target/rsc-chat-1.0.jar | grep -v "grep"|wc -l`    
if [ "$isServerExist" = "1" ]; then
 pid=`ps -ef|grep target/rsc-chat-1.0.jar | grep -v "grep" | awk '{print $2}'`
 kill $pid
fi
BUILD_ID=dontKillMe
nohup java -jar target/rsc-chat-1.0.jar --spring.profiles.active=local >> rsc-chat.file 2>&1 &

修改工作目录

在这里插入图片描述

# 先执行
export JENKINS_HOME=/home/data/.jenkins
# 在执行
java -jar jenkins.war --httpPort=8010

参考文档

# Jenkins历史war包下载地址
https://mirrors.jenkins.io/war-stable
或者
https://get.jenkins.io/war-stable/


# centos7下部署jenkins+jdk8+适配插件下载
https://zhuanlan.zhihu.com/p/675469742


# 下载Jenkins  war包
https://get.jenkins.io/war-stable/

# 下载插件
https://blog.csdn.net/qq_35472206/article/details/126049574
官网插件:https://plugins.jenkins.io/

# Jenkins 设置中文
https://blog.csdn.net/ichen820/article/details/134946862


# jenkins + gitlab自动化构建启动java项目(图文)

https://blog.csdn.net/qq_34279574/article/details/117123209
https://blog.csdn.net/weixin_45310323/article/details/130237276

https://www.bilibili.com/read/cv24237996/


# jenkins部署java项目(SVN管理)Exec command配置
https://blog.csdn.net/weixin_44674960/article/details/112171034
```shell
source /etc/profile 
cd /root/.jenkins/workspace/song-chat     
isServerExist=`ps -ef|grep target/rsc-chat-1.0.jar | grep -v "grep"|wc -l`    
if [ "$isServerExist" = "1" ]; then
	pid=`ps -ef|grep target/rsc-chat-1.0.jar | grep -v "grep" | awk '{print $2}'`
	kill $pid
fi
BUILD_ID=dontKillMe
nohup java -jar target/rsc-chat-1.0.jar --spring.profiles.active=local >> rsc-chat.file 2>&1 &

# 修改工作目录

export JENKINS_HOME=/home/data/.jenkins然后在
java -jar jenkins.war --httpPort=8010

# Linux环境下 Jenkins部署
https://blog.csdn.net/zhr19970910/article/details/118896592

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

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

相关文章

HarmonyOS ArkTS 通用事件(二十三)

通用事件目录 点击事件事件ClickEvent对象说明EventTarget8对象说明示例 触摸事件事件TouchEvent对象说明TouchObject对象说明示例 挂载卸载事件事件示例 点击事件 组件被点击时触发的事件。 事件 ClickEvent对象说明 从API version 9开始,该接口支持在ArkTS卡片中…

高性能 MySQL 第四版(GPT 重译)(二)

第四章:操作系统和硬件优化 你的 MySQL 服务器的性能只能和它最弱的环节一样好,而运行 MySQL 的操作系统和硬件通常是限制因素。磁盘大小、可用内存和 CPU 资源、网络以及连接它们的所有组件都限制了系统的最终容量。因此,你需要仔细选择硬件…

Golang案例开发之gopacket监听网卡抓包(2)

文章目录 前言二、实践 监听网卡抓包1.代码2.知识点OpenLive方法SetBPFFilter断言 总结 前言 本节实战,监听指定网卡,进行网络抓包,根据分层,解析不同分层包的内容。 二、实践 监听网卡抓包 1.代码 代码如下(示例&a…

使用华为云HECS服务器+nodejs开启web服务

简介: 在华为云HECS服务器上使用nodejs开启一个web服务。 目录 1.开通华为云服务器 2.远程登录 2.1 使用华为官方的网页工具登录 ​编辑 2.2 使用MobaXterm登录 3 安装node 3.1 下载 2. 配置环境变量 4. 安装express模块 5.开启外网访问 1.开通华为云服务器 这…

大数据面试题 —— HBase

目录 什么是HBase简述HBase 的数据模型HBase 的读写流程HBase 在写的过程中的region的split的时机HBase 和 HDFS 各自的使用场景HBase 的存储结构HBase 中的热现象(数据倾斜)是怎么产生的,以及解决办法有哪些HBase rowkey的设计原则HBase 的列…

GO语言:函数、方法、面向对象

本文分享函数的定义、特性、defer陷阱、异常处理、单元测试、基准测试等以及方法和接口相关内容 1 函数 函数的定义 func 函数名(参数列表) (返回值列表) { // 函数体(实现函数功能的代码) } 匿名函数的定义就是没有函数名,可以当做一个函…

HTML静态网页成品作业(HTML+CSS)——抗击疫情网页(4个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有4个页面。 二、作品演示 三、代…

Node.js常用命令:了解Node.js的核心命令和用法

学习目标: 理解Node.js和npm的概念及其在开发中的作用;掌握Node.js的核心命令,包括node、npm、npx等;学会使用node命令来执行JavaScript文件和模块;熟悉npm命令,包括安装、更新、卸载依赖包等操作&#xf…

内存泄漏检测、单向链表的操作

我要成为嵌入式高手之3月19日数据结构第二天!! ———————————————————————————— valgrind内存测试工具 让虚拟机上网、在虚拟机上下载软件,参考笔记: 我要成为嵌入式高手之2月3日Linux高编第一天&am…

React状态管理库快速上手-Redux(一)

基本使用 安装 pnpm install reduxjs/toolkit react-redux创建一个仓库 定义state createSlice相当于创建了一个模块仓库,initialState存放状态,reducers存放改变状态的方法。 import { createSlice } from reduxjs/toolkitexport const counterSli…

python与excel第一节

python与excel第一节 由于excel在日常办公中大量使用,我们工作中常常会面对高频次或者大量数据的情况。使用python语言可以更加便捷的处理excel。 python与vba的比较 python语法更加简洁,相较于vba冗长复杂的语法,python更加容易学习。 p…

长安链智能合约标准协议第二草案——BNS与DID协议邀请社区用户评审

长安链智能合约标准协议 在智能合约编写过程中,不同的产品及开发人员对业务理解和编程习惯不同,即使同一业务所编写的合约在具体实现上也可能有很大差异,在运维或业务对接中面临较大的学习和理解成本,现有公链合约协议规范又不能完…

【C++】Qt:WebSocket客户端示例

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍WebSocket客户端示例。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路&…

Python分析无人驾驶汽车在桂林市文旅行业推广的问卷

【项目背景】 通过市场调研、文本分析、访谈和问卷调查等方法,探讨: 网民对无人驾驶汽车出行服务的态度。无人驾驶安全员的行业背景。不同人群在旅游时的交通选择偏好。游客及当地居民对桂林市文旅路线的交通满意度。乘客对无人驾驶汽车的满意度。桂林…

X1 grok-1 开源大语言模型下载

Grok 前言 我们正在发布我们的大型语言模型 Grok-1 的基本模型权重和网络架构。Grok-1 是一个 3140 亿参数的专家混合模型,由 xAI 从头开始训练。 这是 2023 年 10 月结束的 Grok-1 预训练阶段的原始基础模型检查点。这意味着该模型不会针对任何特定应用&#xff…

C++特性三:多态的基本语法及原理剖析

一、多态的基本语法 多态分为两类 静态多态: 函数重载 和 运算符重载属于静态多态,复用函数名 动态多态: 派生类和虚函数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早绑定 - 编译阶段确定函数地址 动态多态的函数地址晚绑定 - 运…

GitHub Copilot+ESP开发实战-串口

上篇文章讲了GitHub Copilot在应用中可能遇到的问题,接下来小启就简单介绍下GitHub Copilot在ESP32开发中C语言实现串口功能,感兴趣的可以看看。 一、向Copilot提问: 1. ESP32用C语言实现串口初始化; 2.配置uart为1&#xff0c…

wayland(xdg_wm_base) + egl + opengles 使用 Assimp 加载带光照信息的材质文件Mtl 实现光照贴图的最简实例(十七)

文章目录 前言一、3d 立方体 model 属性相关文件1. cube1.obj2. cube1.Mtl3. 纹理图片 cordeBouee4.jpg二、实现光照贴图的效果1. 依赖库和头文件1.1 assimp1.2 stb_image.h2. egl_wayland_obj_cube1.cpp3. Matrix.h 和 Matrix.cpp4. xdg-shell-client-protocol.h 和 xdg-shell…

9.登入页面

登入页面 在pages中新建页面login 修改代码 <template><view></view> </template><script setup></script><style lang"scss"></style>添加头像组件 官网 https://vkuviewdoc.fsq.pub/components/avatar.html …

原生html vue3使用element plus 的树tree上移下移案例源码

上效果 html源码 <!DOCTYPE html> <html lang"en"> <!-- * Name: mallSalesReports.html * Description: * Author Lani * date 2024-02-28 18:32:36 --> <head><meta charset"UTF-8"><meta name"viewport" …