jenkins最佳实践(一):jenkins安装与部署

各位小伙伴们大家好呀,我是小金,下面我将记录学习jenkins的系列文章与心得,一方面用于博主的自我记录,一方面如果能帮助到正在浏览这篇文章的小伙伴,那更好不过了,本篇文章主要讲述jenkins的安装以及安装jenkins所必须的环境搭建。

一 、 jenkins简介

Jenkins 是一个基于 Java 的开源持续集成和持续部署工具,旨在自动化软件开发流程中的重复工作,如代码编译、测试和部署,从而提高开发效率。

1.1 主要优势:
  • 自动化操作:开发者只需将代码提交到版本控制系统(如 Git),Jenkins 会自动处理后续的编译、测试和部署。
  • 减少错误:通过自动化,降低了手动操作带来的错误风险,确保一致性。
  • 节省时间:避免了手动重复操作,让开发者能专注于编写代码。
  • 丰富的插件生态:Jenkins 提供多种插件,支持不同需求和扩展功能。
1.2 工作流程:
  • 开发人员将代码提交到版本控制系统(如Git)。
  • enkins 通过 Git 插件获取最新代码,并执行相应的构建任务。
  • 构建完成,可以将构建的包推送到业务服务器或 docker 镜像服务器。
  • 任务构建成功或失败,Jenkins 可以自动发送通知,以便及时处理问题。

二 、 环境安装

考虑到环境隔离和便于迁移博主最初是将Jenkins安装在docker容器上的,可是后来遇到一系列很麻烦的问题,在处理容器与宿主机之间频繁出现问题,后来博主就将此环境之间安装在宿主机上了,这大大的简化了文件的传输与转移,以及流水线脚本的编写过程。因此我们以下演示的均是直接在宿主机上操作的。

2.1 安装JDK

这里直接使用yum命令安装

sudo yum install java-11-openjdk

如果系统已经安装过了jdk,但是又想更换默认的jdk版本,可使用如下命令,进行默认jdk版本的切换

sudo alternatives --config java

选择对应的序号即可。
在这里插入图片描述

2.2 安装Maven

这里使用安装包的方式安装,博主使用的版本是 apache-maven-3.9.8-bin.tar 有需要的可以下载,也可以下载其他版本的maven跳转下载 提取码:0913

#在指定的目录下解压 安装包
tar zxf apache-maven-3.9.8-bin.tar.gz
#重命名一下文件目录
mv apache-maven-3.9.8 maven3
#配置环境变量:
sudo vi /etc/profile
#在文件的末尾添加以下两行,设置`M2_HOME``PATH`变量:
export M2_HOME=maven安装目录
export PATH=$PATH:$M2_HOME/bin
#保存后退出  使得配置生效
source /etc/profile
#验证
mvn -version

配置环境变量
在这里插入图片描述

验证版本
在这里插入图片描述

对于settings文件同学们可以配置为阿里云的镜像,此处省略,后面的文章会有对这方面的改造。

2.3 安装git

直接运行命令即可

#安装
yum install git
#查看版本
git --version
2.4 安装node

如果是只部署后端服务,此步骤可以省略,node环境是为前端服务部署准备的。
博主使用的系统是centos7,当前系统最高支持node版本到 16x,过高的版本会报错,这里我们使用 nvm 来安装 node,这样还可以在想要的时候,切换 node 版本。我们这里使用v16.20.2版本。
首先,需要下载并安装 NVM。你可以使用 curlwget 来完成这一步。

2.4.1 安装 NVM

使用 wget

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash

加载 NVM

安装完成后,你需要重新加载 shell 配置文件来使 NVM 生效。通常情况下,你可以运行以下命令:

source ~/.bashrc

验证 NVM 安装

通过运行以下命令来验证 NVM 是否成功安装:

nvm --version

在这里插入图片描述

配置环境变量

vim ~/.bashrc

~/.bashrc 文件中添加如下内容:

# nodejs下载更换淘宝镜像
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node

在这里插入图片描述

然后刷新环境变量,并查看nvm版本:

# 刷新环境变量
source ~/.bashrc![image.png](https://p0-xtjj-private.juejin.cn/tos-cn-i-73owjymdk6/d892252f2db74fd980ac56602c6e2585~tplv-73owjymdk6-jj-mark:0:0:0:0:q75.awebp?policy=eyJ2bSI6MywidWlkIjoiMzU3MDgzNzQ5NDk4ODUyNiJ9&rk3s=f64ab15b&x-orig-authkey=f32326d3454f2ac7e96d3d06cdbb035152127018&x-orig-expires=1724643905&x-orig-sign=828bA%2FiHfilam5prJsus4fBJ%2FWo%3D)
# 检查nvm版本,检查是否安装成功
nvm -v
2.4.2 安装 node

nvm使用

# 查看所有能安装的nodejs版本
nvm ls-remote # 安装指定的版本
nvm install 21.6.0# 使用指定版本,临时有效
nvm use 21.6.0# 设置默认版本
nvm use 21.6.0
nvm alias default 21.6.0

上面在查看和安装的时候可能会遇到一个问题,就是 nvm ls-remote 执行结果可能只显示"iojs-"开头的版本,那么尝试下面的方式:

# 由于网络问题nvm ls-remote执行结果可能只显示"iojs-"开头的版本,如果是这样,尝试下面的指令试试
NVM_NODEJS_ORG_MIRROR=http://nodejs.org/dist nvm ls-remote
NVM_NODEJS_ORG_MIRROR=http://nodejs.org/dist nvm install 16.20.2

node默认安装在nvm下的versions文件夹中
查看 NVM 安装目录
NVM 通常安装在用户的主目录中,具体路径是 ~/.nvm。你可以通过以下命令查看:

echo $NVM_DIR

当前应该安装在 /root/.nvm/versions/node/v16.20.2 目录下,后边会用到,先记下安装位置。

2.5 安装jenkins
2.5.1 安装并启动Jenkins
  1. 添加Jenkins的yum仓库:

    创建一个新的repo文件 /etc/yum.repos.d/jenkins.repo 并添加以下内容:

[jenkins]
name=Jenkins
baseurl=http://pkg.jenkins-ci.org/redhat-stable
gpgcheck=1
gpgkey=https://jenkins-ci.org/redhat/jenkins-ci.org.key
enabled=1
  1. 导入Jenkins的公钥:
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
  1. 安装Jenkins:
sudo yum install jenkins
  1. 启动Jenkins服务:
sudo systemctl start jenkins
  1. 设置Jenkins开机自启:
sudo systemctl enable jenkins
  1. 访问Jenkins:

    安装完成后,你可以在浏览器中通过 http://your_server_ip:8080 访问Jenkins。第一次访问时,你会被要求输入管理员密码,这个密码位于安装日志文件中,通常在 /var/lib/jenkins/secrets/initialAdminPassword

请确保你的防火墙设置允许8080端口的流量通过,否则你可能无法从外部访问Jenkins。如果你使用的是firewalld,可以使用以下命令:

sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --reload

安装成功,访问页面如下。下面的操作不再赘述,创建新用户,完成推荐插件安装即可。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Redis篇一:初识Redis

文章目录 前言1. 初始Redis2. MySQL VS Redis3. 什么是分布式系统(也是一种处理大量数据时的处理方式)3.1 单机架构3.2 数据库与应用服务分离3.3 负载均衡3.4 数据库读写分离3.5 引入缓存(Redis)3.6 数据库分库分表3.7 引入微服务…

计算机毕业设计选题推荐-OA办公管理系统-Java/Python项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

白酒与青年文化:潮流与传统的碰撞

在时代的洪流中,青年文化如同一股涌动的潮流,不断冲击着传统的边界。而白酒,作为中国传统文化的瑰宝,也在这一潮流中找到了新的表达方式。今天,我们就来探讨一下白酒与青年文化之间的碰撞与整合,以及豪迈白…

一文带你弄清楚基站是什么

我们每天都在通过手机、电脑等设备拨打电话和传递消息。然而,你是否曾深思过,这些来电显示和信息内容究竟是如何跨越距离,准确无误地从一个人传递到我们手中的呢?或许,有些细心的人已经留意到,在手机屏幕的…

【Vue3】编程式路由导航

【Vue3】编程式路由导航 背景简介开发环境开发步骤及源码总结 背景 随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来,技术出身的人总是很难放下一些执念,遂将这些知识整理成文,以纪念曾经努力学习奋斗的日…

从匿名内部类到Lambda表达式:Java编程的优雅进化

匿名内部类 首先我们先来介绍一下什么是匿名内部类 匿名内部类:java中一种特殊的类定义方式,它允许你在需要实现一个接口或继承一个类的地方直接定义一个该接口或类的匿名子类。若想创建一个派生类的对象,并且对象只创建一次,可…

微服务事务管理

1.分布式事务问题 1.1.本地事务 本地事务,也就是传统的单机事务,在传统数据库事务中,必须要满⾜四个原则: 1.2.分布式事务 分布式事务,就是指不是在单个服务或单个数据库架构下,产⽣的事务,例…

【Leetcode 1941 】 检查是否所有字符出现次数相同 —— 数组模拟哈希表

给你一个字符串 s ,如果 s 是一个 好 字符串,请你返回 true ,否则请返回 false 。 如果 s 中出现过的 所有 字符的出现次数 相同 ,那么我们称字符串 s 是 好 字符串。 示例 1: 输入:s "abacbc"…

全感知、全覆盖、全智能的名厨亮灶开源了

简介 AI视频监控平台, 是一款功能强大且简单易用的实时算法视频监控系统。愿景在最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,减少企业级应用约 95%的开发成本,在强大视频算法加…

在Logback中配置`requestId`进行日志追踪的实践与应用

在Logback中配置requestId进行日志追踪的实践与应用 1. 引言 在分布式系统和微服务架构中,日志是调试、监控和性能分析的关键工具。然而,由于多个请求会在系统中并行处理,日志记录很容易变得杂乱无章,难以区分属于同一请求的日志…

数学基础(七)

一、熵 熵代表物体内部的混乱程度。(一件事发生的不确定性) 熵应用到分类任务中 二、激活函数 Sigmoid函数: Tanh函数: Relu函数: 三、回归分析 回归分析是寻找存在相关关系的变量间的数学表达式,并进行…

代码随想录算法训练营第57天|prim算法精讲、kruskal算法精讲

打卡Day57 1.prim算法精讲2.kruskal算法精讲 1.prim算法精讲 题目链接:prim算法精讲 文档讲解: 代码随想录 最小生成树是所有节点的最小连通子图,以最小的成本将图中所有节点连接到一起。prim算法是从节点的角度,采用贪心的策略…

[数据集][目标检测]电力场景输电线异物检测数据集VOC+YOLO格式2060张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2060 标注数量(xml文件个数):2060 标注数量(txt文件个数):2060 标注…

Spring Data JPA 中分页Pageable 的使用说明

我 | 在这里 ⭐ 全栈开发攻城狮、全网10W粉丝、2022博客之星后端领域Top1、专家博主。 🎓擅长 指导毕设 | 论文指导 | 系统开发 | 毕业答辩 | 系统讲解等。已指导60位同学顺利毕业 ✈️个人公众号:热爱技术的小郑。回复 Java全套视频教程 或 前端全套视频…

Android 12中读写SD卡,提示Operation not permitted问题处理

1、问题原因&#xff1a; 安卓11开始,强化了对SD卡读写的管理&#xff0c;引入了MANAGE_EXTERNAL_STORAGE权限&#xff0c;而之前的WRITE_EXTERNAL_STORAGE已经失效了。 并且MANAGE_EXTERNAL_STORAGE权限只能跳转设置页面申请。 2、解决方案 1、添加 <uses-permission an…

黑神话悟空什么配置可以玩?什么样的游戏本配置可以畅玩《黑神话:悟空》?黑神话悟空电脑配置推荐

相信不少游戏爱好者&#xff0c;近期被《黑神话&#xff1a;悟空》这款游戏刷屏了&#xff0c;预售开启不到5分钟&#xff0c;所有的产品即宣告售罄&#xff0c;预购3天销售额就破亿&#xff0c;并迅速登顶Steam全球榜。作为一款备受期待的国产3A游戏&#xff0c;以其精美的画面…

致远OA OCR票据识别组件

OCR票据识别 技术支持 技术大佬支持本文档 使用范围 任何票种信息&#xff0c;只要需要对接到oa底表中&#xff0c;就能够实现各种票种&#xff0c;各种字段的对接&#xff0c;包括票据识别&#xff0c;发票核验&#xff0c;适配各种票据 使用介绍 1 配置每种发票的ocr设…

【html+css 绚丽Loading】000016 四维玄方

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享htmlcss 绚丽Loading&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495…

《牛虻》读后感

《牛虻》这本书是同事送的&#xff0c;最近换工作、搬家很多杂事&#xff0c;也就没有多少看书的兴致&#xff0c;所以断断续续看了快两周才看完。这是爱尔兰女作家埃塞尔丽莲伏尼契的代表作&#xff0c;在我国声名远播&#xff0c;是一代人的精神食粮。怀着崇敬的心情翻开这本…

数模小白国赛获奖技巧

一、团队分工合作的技巧&#xff08;三角形配合&#xff09; &#xff08;1&#xff09;队长要组织多沟通多交流&#xff1b; &#xff08;2&#xff09;建议定期开组会&#xff0c;互相讲授自己学习的东西&#xff0c;一人学习&#xff0c;三人收获。 二、AI辅助思路解析&am…