一篇文章搞定Jenkins自动化部署JDK17+SpringBoot3.X+新版AlibabaCloud打包Docker镜像推送私有镜像仓库

🚀 作者 :“二当家-小D”

🚀 博主简介:⭐前荔枝FM架构师、阿里资深工程师||曾任职于阿里巴巴担任多个项目负责人,8年开发架构经验,精通java,擅长分布式高并发架构,自动化压力测试,微服务容器化k8s等

🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬

🍅文末获取源码联系 配套笔记打包🍅

1、 什么是jenkins

        Jenkins是一个开源的持续集成工具,用于自动化构建、测试和部署软件项目。它提供了一个可视化界面,使开发人员能够轻松地配置和管理构建和部署过程。

        Jenkins支持各种编程语言和工具,可以与版本控制系统(如Git、SVN等)集成,从而实现自动化构建和测试。它还支持各种插件,可以扩展其功能,比如自动化部署到云平台、发送构建结果通知等。

Jenkins具有以下特点:

  1. 开源免费:Jenkins是一个开源工具,可以免费使用和定制。
  2. 易于安装和使用:Jenkins具有简单易用的界面,使用户能够轻松地配置和管理项目。
  3. 可扩展性:Jenkins支持各种插件,可以根据需要扩展其功能。
  4. 多平台支持:Jenkins可以在多个操作系统上运行,包括Windows、Linux和Mac。
  5. 强大的集成能力:Jenkins可以与各种工具和服务集成,包括版本控制系统、构建工具、测试框架等。
  6. 可视化报告:Jenkins提供了丰富的报告和统计功能,使用户能够清楚地了解项目的构建和测试情况。

       总之,Jenkins是一个强大的持续集成工具,可以帮助团队提高软件开发的效率和质量。无论是小型项目还是大型企业级项目,Jenkins都是一个理想的选择。

2、Jenkins 安装

     2.1 创建jenkins持久化

  mkdir -p /root/docker/jenkins

 接下来创建并启动 Jenkins 容器,同时挂载数据卷

 docker run -d \
 -u root \
 --name xdclass_jenkins \
 -p 9302:8080 \
 -v /root/docker/jenkins:/var/jenkins_home \
 -v /var/run/docker.sock:/var/run/docker.sock \
 -v /usr/bin/docker:/usr/bin/docker \
 jenkins/jenkins:2.449-jdk17

    2.2 如何查看jenkins密码 

    docker logs 容器的id,为下一步做准备

    3、启动和配置

3.1 配置jdk,jenkins自带的

/opt/java/openjdk

3.2 安装对应的插件 Maven Integration、Docker Pipeline、docker ApI 、docker 、docker commons

3.3 配置对应的git和maven

3.4 jenkins中Git的配置

3.5 创建一个自己的maven项目并且配置

 

 3.6 编写对应的脚本,并且推送到阿里云容器中

echo "登录阿⾥云镜像"
docker login --username=xdclass666 registry.cn-shenzhen.aliyuncs.com --password=xdclass.net168
echo "构建dcloud-common" 
cd dcloud-common
mvn clean install
ls -alh 

3.7 推送到阿里云镜像中

ls -alh
cd dcloud-engine
ls -alh
echo "引擎服务构建开始"
mvn clean install
docker build . -t dcloud-engine
docker tag dcloud-gateway registry.cn-shenzhen.aliyuncs.com/xdclass-k8s/dcloud-engine:v1.1
docker push registry.cn-shenzhen.aliyuncs.com/xdclass-k8s/dcloud-engine:v1.1
mvn clean
echo "引擎服务构建推送成功"
echo "=======构建脚本执⾏完毕====="

2.1开始构建

构建成功

4、小结

今天的文章限于篇幅我就先通过一个简单的案例来和大家分享一下 Jenkins 的基本用法,以便于小伙伴们对 Jenkins 建立一个直观的印象,更多的玩法,D哥将在后续的文章中和大家继续介绍

原创不易,欢迎点赞+收藏

完整的打包和部署命令和已经整理好,如果有相关操作问题,可以互相沟通交流

资料压缩包文末获取↓↓↓↓

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

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

相关文章

-内核编译-01

挂载根文件系统 1搭建【nfs】 1.1PC端配置 nfs:网络服务器 【sudo /etc/init.d/nfs-kernel-server restart】 【sudo /etc/init.d/nfs-kernel-server status】 【sudo netstat -anp|less】 1重启【nfs】网络服务方法2:查看日志 修改配置文件 进入…

无线通信基本原理笔记

通信:人与人或人与自然之间通过某种行为或媒介进行的信息交流与传递。 通信模型:信源→发送设备→信道(↑噪声)→接收设备→信宿 调制:把基带信号变换成适合在信道中传输的信号的技术。通过改变高频载波的幅度、相位…

计算机网络基础1--基础概念

1. IP地址 1.1 IPv4地址 分为网络号和主机号 地址块的第一个地址和最后一个地址通常不使用。 广播地址为主机号全取1的情况。 2. 常用报文格式 2.0 ethernet协议 2.1 arp协议 2.2 ip协议 2.3 tcp协议 2.4 udp协议 2.5 icmp协议

LeetCode-2007. 从双倍数组中还原原数组【贪心 数组 哈希表 排序】

LeetCode-2007. 从双倍数组中还原原数组【贪心 数组 哈希表 排序】 题目描述:解题思路一:排序 哈希表解题思路二:排序 队列解题思路三:消消乐 题目描述: 一个整数数组 original 可以转变成一个 双倍 数组 changed &…

2024年150道高频Java面试题(三十二)

63. 线程的 run() 和 start() 有什么区别? 在Java中,run()方法和start()方法是线程操作中的两个核心方法,它们来自于Thread类。 run()方法: run()方法是一个线程的实际执行代码所在的方法。它是一个由Runnable接口定义的抽象方…

java文件夹文件比较工具

import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.HashSet; import java.util.Set;public class FolderFileNames {public static void main(String[] args) {// 假设您要读取的文件夹路径是 &q…

35. 搜索插入位置 C++

今天开始刷力扣hot100,还是那句话,把时间投资在自己身上绝对是最最值最最赚的,我相信我自己,我也相信坚持付出的力量,力扣这边刷题我准备主打C,加油,先从二分查找开始! 给定一个排序…

ubuntu 配置 spacemouse以及通过python/robosuite使用spacemouse

一 前言 3dconnexion 早在2014年就不更新对linux系统的驱动,因此安装驱动需要参考另一个网站:https://spacenav.sourceforge.net/ 二 安装步骤 1 安装 spacenavd 先安装依赖库 sudo apt install libxext-dev libxrender-dev libxmu-dev libxmuu-dev…

maridb双数据源联查解决方案:联合存储引擎(Federated Storage Engine)

本地MySQL数据库要访问远程MySQL数据库的表中的数据, 必须通过FEDERATED存储引擎来实现. 有点类似Oracle中的数据库链接(DBLINK)。使用FEDERATED存储引擎的表,本地只存储表的结构信息,数据都存放在远程数据库上,查询时通过建表时指定的连接符去获取远程库的数据返回到本地。操作…

PCA(Principal Component Analysis,主成分分析)与矩阵X的协方差矩阵之间的联系

PCA(Principal Component Analysis,主成分分析)是一种常用的降维技术,用于将高维数据集投影到低维空间中。在PCA中,投影方程将原始特征向量 ( x 1 , x 2 , … , x p ) (x_1, x_2, \ldots, x_p) (x1​,x2​,…,xp​)映射…

Linux 网络编程项目--简易ftp

主要代码 config.h #define LS 0 #define GET 1 #define PWD 2#define IFGO 3#define LCD 4 #define LLS 5 #define CD 6 #define PUT 7#define QUIT 8 #define DOFILE 9struct Msg {int type;char data[1024];char secondBuf[128]; }; 服务器: #i…

【天软行业全景画像】报告第8期

行业全景画像因子 报告概要:传媒、环保、机械设备行业的拥挤度较高,实际投资交易应注意;煤炭、银行、石油石化行业动量较强,医药生物、综合、计算机行业动量较弱,业绩整体表现较差;食品饮料、公用事业行业景…

书生·浦语大模型实战营(第二期):XTuner 微调 LLM

目录 Finetune简介两种Finetune范式一条数据的一生标准格式数据添加对话模板两种finetune的loss计算 LoRA&QLoRA XTunerXTuner简介XTuner快速上手安装&训练配置模板对话工具数据处理数据集映射函数 InternLM2 1.8B模型多模态LLM给LLM装上电子眼:多模态LLM原…

技术速递|为 .NET iOS 和 .NET MAUI 应用程序添加 Apple 隐私清单支持

作者:Gerald Versluis 排版:Alan Wang Apple 正在推出一项隐私政策,将隐私清单文件包含在针对 App Store 上的 iOS、iPadOS 和 tvOS 平台的新应用程序和更新应用程序中。请注意,至少目前 macOS 应用程序被排除在外。 隐私清单文件…

el-table-column叠加el-popover使用

需求&#xff1a;el-table-column有一列展示多个tag信息&#xff0c;实现点击tag展示tag信息以及tag对应的详细信息 table的数据格式 data:[{...,isPopoverVisible:false,},{...,isPopoverVisible:false,},... ]写法&#xff1a; <el-table-column label"配置信息&q…

死磕GMSSL通信-C/C++系列(一)

死磕GMSSL通信-C/C++系列(一) 最近再做国密通信的项目开发,以为国密也就简单的集成一个库就可以完事了,没想到能有这么多坑。遂写下文章,避免重复踩坑。以下国密通信的坑有以下场景 1、使用GMSSL guanzhi/GmSSL进行通信 2、使用加密套件SM2-WITH-SMS4-SM3 使用心得 ​…

【个人博客搭建】(3)添加SqlSugar ORM 以及Json配置文件读取

1、安装sqlsugar。在models下的依赖项那右击选择管理Nuget程序包&#xff0c;输入sqlsugarcore&#xff08;因为我们用的是netcore&#xff0c;而不是net famework所以也对应sqlsugarcore&#xff09;&#xff0c;出来的第一个就是了&#xff0c;然后点击选择版本&#xff0c;一…

ABAP 提示框 汇总

文章目录 前言 1.POPUP_TO_DISPLAY_TEXT 2.POPUP_TO_CONFIRM 3.G_DISPLAY_SELECTION_DYNPRO 4.REUSE_ALV_POPUP_TO_SELECT 5.POPUP_TO_DECIDE_LIST 6.POPUP_WITH_TABLE_DISPLAY_OK 7.BKK_POPUP_DISPLAY_LIST 8. POPUP_TO_CONFIRM_WITH_MESSAGE 9.POPUP_TO_CONFIRM 1…

MinIO + Prometheus + Grafana docker部署

文章目录 说明MinIO简介MinIO 容器化部署Prometheus服务地址配置方法一&#xff1a;先部署后修改方法二&#xff1a;部署时修改compose文件&#xff08;未验证&#xff09; MinIO Access Key配置Prometheus 容器化部署MinIO 生成抓取配置修改Prometheus配置文件Grafana 容器化部…

python3.poc。sqlmapTamperPocsuite

目的&#xff0c;掌握工具的api接口&#xff0c;框架工具二次开发 ---sqlmap的api接口&#xff1a;https://www.freebuf.com/articles/web/204875.html 应用&#xff1a;配合前期信息收集的到可能存在注入点的地方&#xff0c;批量化的去扫描 #开发当前项目过程&#xff1a…