2024最新 Jenkins + Docker实战教程(一) - Jenkins介绍及安装

在这里插入图片描述

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~
🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志
🎐 个人CSND主页——Micro麦可乐的博客
🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战
🌺《RabbitMQ》本专栏主要介绍使用JAVA开发RabbitMQ的系列教程,从基础知识到项目实战
🌸《设计模式》专栏以实际的生活场景为案例进行讲解,让大家对设计模式有一个更清晰的理解
💕《Jenkins实战》专栏主要介绍Jenkins+Docker+Git+Maven的实战教程,让你快速掌握项目CI/CD,是2024年最新的实战教程
如果文章能够给大家带来一定的帮助!欢迎关注、评论互动~

Jenkins + Docker + Gitee 实战教程(一) - Jenkins介绍及安装

  • 前言
  • 什么是Jenkins
  • Jenkins的核心功能
  • Jenkins安装
    • Docker
    • WAR文件
    • MacOS
    • Windows
    • Linux - Ubuntu
  • 测试访问
  • 如何干净的重装
  • 结语

前言

在现代软件开发中,持续集成和持续部署(CI/CD)已经成为不可或缺的一部分。Jenkins作为一个开源的自动化服务器,是CI/CD流程中最常用的工具之一。本教程序系列将深入探讨Jenkins的核心功能、安装与配置、常用插件以及实际使用中的一些最佳实践。

在这里插入图片描述

什么是Jenkins

Jenkins是一款开源 CI/CD 软件,用于自动化各种任务,包括构建、测试和部署软件。

CI :Continuous Integration 持续集成
CD:Continuous Delivery 持续交付

Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序,Jenkins中文官方地址:https://www.jenkins.io/zh/

Jenkins的核心功能

  • 持续集成与持续部署(CI/CD)
    Jenkins能够自动化地执行代码的构建、测试和部署,确保代码库的每一次更改都能够顺利地集成和发布。

  • 丰富的插件支持
    Jenkins拥有超过1500个插件,支持各种版本控制系统(如Git、Subversion)、构建工具(如Maven、Gradle)、测试框架(如JUnit、TestNG)等。

  • 分布式构建
    Jenkins支持主从架构,可以将构建任务分发到多个从节点上执行,从而提高构建效率。

  • 灵活的配置
    Jenkins支持通过Pipeline(流水线)脚本来定义复杂的构建流程。

Jenkins安装

本系列教程博主使用的是Docker来安装运行Jenkins

Docker

使用Docker来安装运行Jenkins,首先需要我们安装好Docker。如果有小伙伴对Docker不熟悉的可以访问博主的 【Docker专栏】进行学习,这里就不赘述了。

运行安装命令

docker run \-u root \-d \-p 8080:8080 \-p 50000:50000 \-v /home/jenkins-data:/var/jenkins_home \--name jenkins-docker \jenkins/jenkins:lts-jdk17

指令说明

-d: 在后台运行容器
-p 8080:8080 :容器的端口8080到主机上的端口8080
-p 50000:50000 :公开主机上的 Docker 守护进程端口
-v jenkins-data:/var/jenkins_home :将容器的 /var/jenkins_home 目录映射到宿主机中的 /home/jenkins-data目录

WAR文件

Jenkins是基于Java开发的一种持续集成工具,WAR文件文件版本可以安装在任何支持Java的操作系统或平台上,需要先安装好JDK

  • 首先下载最新的war文件 【下载地址】
  • 运行命令 java -jar jenkins.war
  • 访问浏览http://localhost:8080

要通过端口9090访问Jenkins,请使用以下命令运行Jenkins
java -jar jenkins.war --httpPort=9090

MacOS

Jenkins针对苹果系统的用户,提供了安装包和HomeBrew两种安装方式;

安装包形式安装:

  • 下载安装包 【下载地址】
  • 打开包装并按照说明操作

HomeBrew安装:

# 安装最新版本
brew install jenkins#安装 LTS 版本
brew install jenkins-lts

Windows

Jenkins针对Windows用户也提供了相应安装包:

  • 下载安装包 【下载地址】
  • 打开包装并按照说明操作

Linux - Ubuntu

在基于Debian的发行版(如Ubuntu)上,您可通过apt安装Jenkins

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

安装这个软件包将会:

  • 将Jenkins设置为启动时启动的守护进程。查看/etc/init.d/jenkins获取更多细节
  • 创建一个jenkins用户来运行此服务
  • 直接将控制台日志输出到文件/var/log/jenkins/jenkins.log。如果您正在解决Jenkins问题,请检查此文件
  • /etc/default/jenkins`为启动填充配置参数,例如JENKINS_HOME
  • 将Jenkins设置为在端口8080上进行监听。使用浏览器访问此端口以开始配置

如需要修改Jenkins配置文件,如:修改端口号等。编辑 /etc/default/jenkins 对应配置即可

测试访问

在浏览器中输入http://<your_server_ip>:8080, 见下图
在这里插入图片描述
根据提示可以查找 /var/jenkins_home/secrets/initialAdminPassword 获取管理员密码

当然我们还可以执行docker logs 指令查看

docker log jenkins-docker

在这里插入图片描述
将密码复制填入并登陆
在这里插入图片描述
可以根据需要选择需要安装的插件,也可以安装推荐插件,待安装完成后再进行其他插件的安装,博主这里直接安装推荐插件。

插件安装完成后,会提示创建管理员用户,根据需要自行设置即可
在这里插入图片描述
配置Jenkins Url
在这里插入图片描述
完成后进入看到下图,即代表jenkins安装成功
在这里插入图片描述

tips:
由于博主安装了Dark-Themes 插件,可以在个人中心 - 设置 中更换皮肤显示

如何干净的重装

有小伙伴可能在安装过程中,出现异常或需要更新版本需要重装jenkins,这里教大家如何干净的重装。
注意我们之前运行的时候进行了数据卷的挂载 -v /home/jenkins-data:/var/jenkins_home,在使用docker命令删除容器的同时,注意一并删除挂载卷。

#停止容器
docker stop jenkins-docker#删除容器
docker rm jenkins-docker##删除挂载卷
rm -rf /home/jenkins-data

结语

Jenkins作为一个功能强大的CI/CD工具,能够极大地提高软件开发的效率和质量。通过本文的介绍,希望大家能够更好地理解Jenkins以及Jenkins的安装,下一章节我们将介绍Jenkins的相关配置

下一章节:2024最新 Jenkins + Docker 实战教程(二) - Jenkins相关配置


在这里插入图片描述

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

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

相关文章

Android BACK键和HOME键应用差异详解

文章目录 1、应用层分析1.1 BACK键功能实现 1.2 HOME键功能实现 1.3 BACK键与HOME键的区别 2、系统层分析2.1 BACK键的处理2.2 HOME键的处理2.3 代码分析BACK键HOME键BACK键的系统代码分析HOME键的系统代码分析BACK键HOME键 3、优缺点分析3.1 BACK键3.2 HOME键 4、项目中的使用…

【ERNIE + PaddleOCR】 创建自己的论文字典,更好的写论文吧!

一、项目背景 在撰写论文的过程中&#xff0c;许多作者习惯先以中文完成初稿&#xff0c;随后再将其翻译为英文。然而&#xff0c;这种翻译过程往往伴随着一系列挑战。尤其是在词汇选择和语法结构上&#xff0c;很容易使用到一些在学术论文中不常用或不符合规范的表达。为了克服…

【学习笔记】Windows GDI绘图(七)图形路径GraphicsPath详解(下)

文章目录 前三篇回顾GraphicsPath方法Flatten压平(将曲线转成线段)GetBounds获取外接矩形GetLastPoint获取路径最后一个点IsOutlineVisibleIsVisiable是否在轮廓上或内部Reset重置Reverse逆转点的顺序Transform矩阵变换Wrap扭曲变换Widen将路径替换为指定画笔的填充区域 前三篇…

安卓手机APP开发__USB主机和配件概述

安卓手机APP开发__USB主机和配件概述 目录 概述 USB 配件模式 调试注意事项 选择合适的 USB 配件 API 支持 USB 主机模式 API 概览 清单和资源文件示例 概述 Android 通过 USB 配件和 USB 主机两种模式支持各种 USB 外围设备和 Android USB 配件&#xff08;实现 Andr…

springboot学习记录--Maven setting配置

一、配置本地仓库 1 <!--自定义本地仓库路径--> Mirro&#xff1a;Maven 将从镜像仓库获取资源&#xff0c;不同的地理位置或具有更快的网络访问速度。 阿里云镜像&#xff1a; <mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorO…

TypeScript中的模块和命名空间:代码组织与封装

TypeScript中的模块和命名空间&#xff1a;代码组织与封装 引言 在TypeScript中&#xff0c;模块和命名空间是两种用于代码组织和封装的工具。模块用于将代码划分为独立的单元&#xff0c;而命名空间提供了一种将相关类型和值分组的方式。 基础知识 模块&#xff1a;通过文…

fastapi的简单实战,且用uvicorn将日志同时输出到控制台和日志文件中

简单描述 fastapi的简单实战&#xff0c;且用uvicorn将日志同时输出到控制台和日志文件中 main.py import signal import sys from contextlib import asynccontextmanagerfrom fastapi import FastAPI import uvicorn from fastapi.staticfiles import StaticFilesfrom set…

生成式AI导论2024-李宏毅

生成式AI导论2024-李宏毅 第0讲&#xff1a; 课程说明第1讲&#xff1a;生成式AI是什么第2講&#xff1a;今日的生成式人工智慧厲害在哪裡&#xff1f;從「工具」變為「工具人」 第0讲&#xff1a; 课程说明 生成式AI的入门课程 第1讲&#xff1a;生成式AI是什么 生成式人…

python调用阿里云通义千问(q-wen-max)API-创建智能体Agent

文章目录 Assistant API简介创建和使用Assistant API1、调用Assistant API夸克搜索回答问题2、Agent智能体构建Assistant API简介 百炼Assistant API能够让用户定制化构建一个assistant,这个assistant支持多种不同的指令(instruction)和描述(prompt),并且可以使用各类工…

AI预测福彩3D采取888=3策略+和值012路一缩定乾坤测试5月26日预测第2弹

昨天的8883大底成功命中&#xff0c;但是由于昨天杀了对子&#xff0c;结果昨天开了对子&#xff0c;导致最终与中奖号码擦肩而过。今天继续基于8883的大底&#xff0c;使用尽可能少的条件进行缩号&#xff0c;同时&#xff0c;今天将准备两套方案&#xff0c;一套是我自己的条…

队列——顺序存储

核心思路&#xff1a; 1、使用顺序存储的方式定义队列时&#xff0c;使用数组存储队列元素&#xff0c;然后声明两个int类型的指针——rear和front&#xff0c;分别指向队尾元素的下一个位置和队头元素的位置。 2、初始化队列时&#xff0c;队列的首尾指针都指向0 。 3、当队列…

2021 年 3 月青少年软编等考 C 语言二级真题解析

目录 T1. 与指定数字相同的数的个数思路分析 T2. 合法 C 标识符思路分析 T3. 计算鞍点思路分析 T4. 谁考了第 k 名思路分析 T5. 石头剪刀布思路分析 T1. 与指定数字相同的数的个数 输出一个整数序列中与指定数字相同的数的个数。 时间限制&#xff1a;1 s 内存限制&#xff1…

【CSS】计算属性 calc 函数

CSS 中的 calc() 函数是用于动态计算数值的函数。它可以在 属性的值中执行基本的数学运算&#xff0c;包括加法、减法、乘法和除法&#xff0c;以及使用 CSS 单位进行计算。 calc() 函数的语法如下&#xff1a; calc(expression) 其中 expression 是包含数学运算和 CSS 单位表…

英语学习笔记28——Where are they?

Where are they? 他们在哪里&#xff1f; 课文部分

【NumPy】关于numpy.median()函数,看这一篇文章就够了

&#x1f9d1; 博主简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟&#xff0c;欢迎关注。提供嵌入式方向…

贝叶斯算法:机器学习中的“黄金法则”与性能提升之道

&#x1f440;传送门&#x1f440; &#x1f50d;机器学习概述&#x1f340;贝叶斯算法原理&#x1f680;贝叶斯算法的应用✨文本分类✨医疗系统 &#x1f496;贝叶斯算法优化✨贝叶斯算法优化的主要步骤✨贝叶斯算法优化的优点✨贝叶斯算法优化的局限性 &#x1f697;贝叶斯算…

二维前缀异或和,1738. 找出第 K 大的异或坐标值

一、题目 1、题目描述 给你一个二维矩阵 matrix 和一个整数 k &#xff0c;矩阵大小为 m x n 由非负整数组成。 矩阵中坐标 (a, b) 的 值 可由对所有满足 0 < i < a < m 且 0 < j < b < n 的元素 matrix[i][j]&#xff08;下标从 0 开始计数&#xff09;执行…

「贪心算法」摆动序列

力扣原题链接&#xff0c;点击跳转。 如果连续数字之间的差严格地在正数和负数之间交替&#xff0c;则数字序列称为摆动序列。第一个差&#xff08;如果存在的话&#xff09;可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。简单来说&#xff0c;摆动…

【iOS开发】—— KVC

【iOS开发】—— KVC 一. KVC的定义key和keyPath的区别用法&#xff1a; 批量复制操作字典模型相互转化KVC的其他方法 KVC原理赋值原理取值原理 一. KVC的定义 KVC&#xff08;Key-value coding&#xff09;键值编码&#xff0c;就是指iOS的开发中&#xff0c;可以允许开发者通…

不用从头训练,通过知识融合创建强大的统一模型

在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;大型语言模型&#xff08;LLMs&#xff09;的开发和训练是一个复杂且成本高昂的过程。数据需求是一个主要问题&#xff0c;因为训练这些模型需要大量的标注数据来保证其准确性和泛化能力&#xff1b;计算资源也是一个…