jenkins自动化构建保姆级教程(持续更新中)

1.安装

1.1版本说明

访问jenkins官网 https://www.jenkins.io/,进入到首页
jenkins官方首页
点击【Download】按钮进入到jenkins下载界面
jenkins下载界面
左侧显示的是最新的长期支持版本,右侧显示的是最新的可测试版本(可能不稳定),建议使用最新的长期支持版本,这里我使用2.401.3

1.2环境说明

使用虚拟机centos7系统,采用docker-compose方式安装

1.3安装必要条件说明

虚拟机通外网、安装好docker、docker-compose、jdk(17)、maven(3.9.3)、git,这些软件的安装请自行安装比较简单,如果不会,请找度娘,软件安装完后建议验证

docker docker version

docker-compose docker-compose -v

jdk java -version

maven mvn -v

git git --version

在虚拟机(centos7)系统的/root的目录下创建jenkins.yml构建文件

version : '3.8'
services:jenkins:image: jenkins/jenkins:2.401.3-ltscontainer_name: jenkinsrestart: alwaysuser: rootports:- "8888:8080"- "8089:50000"environment:- m=1024M- u=0- TZ=Asia/Shanghaivolumes:- /usr/java/jdk17.0.8:/usr/java/jdk17.0.8- /usr/java/maven3.9.3:/usr/java/maven3.9.3- /usr/libexec/git-core:/usr/libexec/git-core- /root/jenkins/home:/var/jenkins_home- /etc/localtime:/etc/localtime- /root/repo:/root/repo

配置文件说明:
a.必须指定user为root用户,否则启动时会报错提示/var/jenkins_home无访问权限
b.必须指定jdk、maven、git等运行环境宿主机和容器路径的映射关系,安装路径根据自己实际安装的路径修改

1.4 安装并启动

在jenkins.yml所在目录下执行一键启动命令 : docker-compose -f jenkins.yml所在路径 up -d

查看启动情况 : docker logs -f jenkins
在这里插入图片描述
红框中的内容为初始登录的密码,此时可以在浏览器输入:虚拟机ip:8888 进行访问
在这里插入图片描述
输入控制台密码,点击继续按钮软件需要加载一些必须的配置,请耐心等待一会,加载完成后即可进入到插件安装界面,鉴于对软件不熟悉,建议选择【安装推荐的插件】
在这里插入图片描述
点击进入到推荐插件安装界面,耐心等待安装完成
在这里插入图片描述
安装完成插件后自动进入到添加管理员账号界面,建议添加管理员账号,不要使用admin账户
在这里插入图片描述
在这里插入图片描述
点击【保存并完成】按钮,进入到实例配置界面,直接保存并完成即可
在这里插入图片描述
点击开始使用jenkins进入到首页
在这里插入图片描述

2.配置

2.1汉化(建议配置)

manage jenkins ->Plugins->installed plugins 搜索框中输入 local发现汉化插件已经安装,重启jenkins即可
在这里插入图片描述
重启jenkins
在这里插入图片描述
重启完成,再次访问,发现菜单都成中文了,汉化完成
在这里插入图片描述

2.2系统工具配置

主要配置Publish Over SSH,建打包完成的jar发送到指定服务器并执行运行操作
系统管理->系统配置
全局密钥、密码等信息配置
在这里插入图片描述
具体远程服务器信息配置
在这里插入图片描述
配置完成可以点击右下方的【Test Configuration】按钮进行测试,如果提示 “sucess”说明配置成功
在这里插入图片描述

2.3全局工具配置

maven settings.xml配置 、 jdk、maven
a.maven settings.xml配置
在这里插入图片描述
b.jdk配置(可配置多个,至少 配置一个)
在这里插入图片描述
c.git配置(可选,可以不配置使用默认的)
在这里插入图片描述
d.maven配置(可配置多个,至少配置一个)
在这里插入图片描述

3.使用

3.1前端vue项目构建

首页->新建任务
在这里插入图片描述
输入任务名称,可以使用下面的复制功能,复制一个已有的任务
在这里插入图片描述
点击【确定】按钮进入任务的配置界面
在这里插入图片描述
源码配置:源码仓库、访问凭证、构建分支等
在这里插入图片描述
自动化构建配置
在这里插入图片描述
构建环境设置
在这里插入图片描述
构建命令设置
在这里插入图片描述
远程服务器设置
在这里插入图片描述
配置完成后依次点击最下面的【应用】、【保存】按钮跳转到任务的构建界面,点击【立即构建】按钮 开始进行自动构建
在这里插入图片描述
开始构建后点击具体的构建版本(左下角的#1、#2、#3…)查看构建的情况
在这里插入图片描述
当最下面提示sucess后说明构建成功,赶紧试试吧

3.2后端springboot、springcloud项目构建

首页->新建任务,输入任务名称,选择构建一个maven项目
在这里插入图片描述
输入任务名称,可以使用下面的复制功能,复制一个已有的任务
在这里插入图片描述
点击【确定】按钮后进入到任务的配置界面
General配置(可选):
在这里插入图片描述
源码配置(必配项):
在这里插入图片描述
构建触发器配置(手动构建不需要配置):
在这里插入图片描述
构建环境配置(后端项目构建此项可不配置):
在这里插入图片描述
构建指令配置(必须配置):
在这里插入图片描述
特殊说明:
Root Pom文件中设置的是需要构建的maven项目的pom.xml,如果是maven多模块的项目 ,需要构建指定的模块,此处需要设置为指定模块的pom.xml,例如maven多模块项目的结构为a模块为父工程,a工程下面有b工程和c工程,如需要构建c工程,此处需设置为【c/pom.xml】
Goals and options 配置,此处需配置maven打包的指令,clean先清除jar 然后执行package打包,打包过程跳过测试 ,-P 后面配置的是打包的环境

打包完成的后续配置(发送jar到服务器,并运行):
远程服务器执行时机配置
在这里插入图片描述
添加远程服务器配置
在这里插入图片描述
远程服务器目录以及启动配置:
在这里插入图片描述
然后依次点击【应用】、【保存】按钮进入到任务的构建界面,点击【立即构建】按钮开始进行项目的构建
在这里插入图片描述
开始构建后点击具体的构建版本(左下角的#1、#2、#3…)查看构建的情况
在这里插入图片描述
当最下面提示sucess后说明构建成功,赶紧试试吧

4.高级应用

4.1jenkins分布式配置以及应用(jenkins主从)

4.1.1背景

在众多 Job 的场景下, 单台 jenkins master 同时执行代码 clone、 编译、 打包及构建,其性能可能会出现瓶颈从而会影响代码部署效率,影响 jenkins 官方提供了 jenkins 分布式构建, 将众多 job 分散运行到不同的 jenkins slave 节点, 大幅提高并行 job 的处理能力。

jenkins分布式就是有多个slave节点,当需要构建的项目非常多时,slave会承担master的工作量,在slave在上创建项目。

slave的环境要和master一致,master上安装了什么软件在slave上要准备相同的,并且路径最好保持一致,与master的区别在于不用安装jenkins

4.1.2 架构说明

在这里插入图片描述

4.1.3配置

master 192.168.2.54 slave-01 192.168.2.51

Jenkins master节点必须安装 SSH Build Agents plugin插件
在这里插入图片描述
slave节点配置

首页—》系统管理—》节点管理—》New Node 进入到新增节点界面,输入节点名称,选择固定节点,然年点击【Create】按钮
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置完成后,点击【保存】按钮完成jenkins从节点的配置。

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

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

相关文章

你真的了解数据结构与算法吗?

数据结构与算法,是理论和实践必须紧密结合的一门学科,有关数据结构和算法同类的课程或书籍,有些只是名为“数据结构”,而非“数据结构与算法”,它们在内容上并无很大区别。 实际上,数据结构和算法&#xf…

【Python】使用python解析普通格式的报文为someip格式报文

文章目录 1.安装scapy库2.示例 1.安装scapy库 使用 pip 安装 scapy 第三方库,打开 cmd,输入以下命令: pip install scapy出现如图所示,表示安装成功: 2.示例 要解析someip格式报文,需要导入someip模块&a…

深入理解Vue 3.0x中的Suspense和异步组件

深入理解Vue 3.0x中的Suspense和异步组件 Vue 3.0x作为Vue.js框架的最新版本,引入了许多创新特性,其中Suspense和异步组件是重要的改进之一。在本文中,我们将深入探讨这两个特性,了解它们如何为现代Web应用带来更好的性能和用户体…

企业电子招投标采购系统源码之电子招投标的组成 tbms

​ 功能模块: 待办消息,招标公告,中标公告,信息发布 描述: 全过程数字化采购管理,打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力,为…

数据库操作不再困难,MyBatis动态Sql标签解析

系列文章目录 MyBatis缓存原理 Mybatis的CachingExecutor与二级缓存 Mybatis plugin 的使用及原理 MyBatis四大组件Executor、StatementHandler、ParameterHandler、ResultSetHandler 详解 MyBatisSpringboot 启动到SQL执行全流程 数据库操作不再困难,MyBatis动态S…

windows11下配置vscode中c/c++环境

本文默认已经下载且安装好vscode,主要是解决环境变量配置以及编译task、launch文件的问题。 自己尝试过许多博客,最后还是通过这种方法配置成功了。 Linux(ubuntu 20.04)配置vscode可以直接跳转到配置task、launch文件,不需要下载mingw与配…

MySQL和Redis如何保证数据一致性

MySQL与Redis都是常用的数据存储和缓存系统。为了提高应用程序的性能和可伸缩性,很多应用程序将MySQL和Redis一起使用,其中MySQL作为主要的持久存储,而Redis作为主要的缓存。在这种情况下,应用程序需要确保MySQL和Redis中的数据是…

拒绝摆烂!C语言练习打卡第二天

🔥博客主页:小王又困了 📚系列专栏:每日一练 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、选择题 📝1.第一题 📝2.第二题 📝…

Unity C# 之 Http 获取网页的 html 数据,并去掉 html 格式等相关信息

Unity C# 之 Http 获取网页的 html 数据,并去掉 html 格式等相关信息 目录 Unity C# 之 Http 获取网页的 html 数据,并去掉 html 格式等相关信息 一、简单介绍 二、实现原理 三、注意事项 四、效果预览 五、关键代码 一、简单介绍 Unity中的一些知…

python优雅地爬虫!

背景 我需要获得新闻,然后tts,在每天上班的路上可以听一下。具体的方案后期我也会做一次分享。先看我喜欢的万能的老路:获得html内容-> python的工具库解析,获得元素中的内容,完成。 好家伙,我知道我爬…

【AI绘画】3分钟学会ikun幻术图

目录 前言一、效果展示二、准备工作三、操作步骤3.1平台创建实例3.2 启动SD 四、安装QR Code Monster 模型五、成图 前言 大家热爱的ikun幻术在今天的分享中将呈现。在本文中,我们将揭示一个备受欢迎的图像幻术技术,让您感受到令人惊叹的视觉创造力。 …

cuda+anaconda+pytorch按照教程

首先安装显卡对应的CUDA版本,关键点在于区别显卡支持的CUDA最高版本和运行版本 1、查看当前显卡支持的最高版本,有两种方式: 1)NVIDIA控制面板—>帮助—>系统信息—>组件—>NVCUDA.dll对应版本 请注意,12…

微服务02-docker

1、Docker架构 1.1 镜像和容器 Docker中有几个重要的概念: 镜像(Image):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。Docker镜像是用于创建 Docker 容器的模板 。就像面向对象编程中的类。 容器(Container):镜像中的应用程序运…

时序预测 | MATLAB实现WOA-CNN-BiLSTM鲸鱼算法优化卷积双向长短期记忆神经网络时间序列预测

时序预测 | MATLAB实现WOA-CNN-BiLSTM鲸鱼算法优化卷积双向长短期记忆神经网络时间序列预测 目录 时序预测 | MATLAB实现WOA-CNN-BiLSTM鲸鱼算法优化卷积双向长短期记忆神经网络时间序列预测预测效果基本介绍程序设计学习总结参考资料 预测效果 基本介绍 时序预测 | MATLAB实现…

Python爱心光波

文章目录 前言Turtle入门简单案例入门函数 爱心光波程序设计程序分析 尾声 前言 七夕要来啦,博主在闲暇之余创作了一个爱心光波,感兴趣的小伙伴们快来看看吧! Turtle入门 Turtle 是一个简单而直观的绘图工具,它可以帮助你通过简…

java:JDBC

文章目录 什么是JDBCJDBC使用步骤详解各个对象DriverManagerConnectionStatementResultSetPreparedStatement JDBC控制事务操作步骤示例 什么是JDBC 我们知道,数据库有很多种,比如 mysql,Oracle,DB2等等,如果每一种数…

2024生物发酵展,双展联动·见证发酵“智“造力,3月济南见

BIO CHINA 2024 济南生物发酵展 2024年3月6-8日 | 山东国际会展中心 BIO CHINA 2024 上海生物发酵展 2024年8月7-9日 | 上海新国际博览中心 济南展&上海展,两展联动纵深布局新产业 BIO CHINA 生物发酵展, 源于2013年创办于上海的“上海国际生物…

【BASH】回顾与知识点梳理(二十九)

【BASH】回顾与知识点梳理 二十九 二十九. 进程和工作管理29.1 什么是进程 (process)进程与程序 (process & program)子进程与父进程:fork and exec:进程呼叫的流程系统或网络服务:常驻在内存的进程 29.2 Linux 的多人多任务环境多人环境…

远程通信-RPC

项目场景: 在分布式微服务架构中,远程通信是最基本的需求。 常见的远程通信方式,有基于 REST 架构的 HTTP协议、RPC 框架。 下面,从三个维度了解一下 RPC。 1、什么是远程调用 2、什么是 RPC 3、RPC 的运用场景和优 什么是远程调用…

Mongodb (四十一)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、概述 1.1 相关概念 1.2 特性 二、应用场景 三、安装 四、目录结构 五、默认数据库 六、 数据库操作 6.1 库操作 6.2 文档操作 七、MongoDB数据库备份 7.1 备…