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、项目中的使用…

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

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

生成式AI导论2024-李宏毅

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

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

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

英语学习笔记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;贝叶斯算…

【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;计算资源也是一个…

Java学习路线思维导图

目录 Java学习流程1.学习大纲2.Java开发中常用的DOS命令 Java入门学习思维导图 Java学习流程 通过大纲了解学习的重点&#xff0c;通过目录依次深入【注&#xff1a;Java环境的搭建百度&#xff0c;提升自己百度的能力】 1.学习大纲 学习流程如下&#xff1a; Java基础语法 …

网络安全架构之零信任安全

网络安全架构之零信任安全 文章目录 网络安全架构之零信任安全零信任安全时代背景安全世界“新旧时代”各种攻击风险层出不穷网络安全边界逐渐瓦解内外部威胁愈演愈烈 零信任架构零信任的理念在不可信的网络环境下重建信任构建自适应内生安全机制以身份为基石业务安全访问持续信…

Linux服务的简介与分类

服务的简介与分类 服务的分类 查询已安装的服务和区分服务 #列出所有rpm包默认安装服务的自启动状态 [rootlocalhost ~]# chkconfig --list atd atd 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭 [rootlocalhost ~]# chkconfig --list sshd sshd …

SpringBoot项目中访问HTML页面

在这种情况下&#xff0c;如果你要访问静态页面&#xff0c;肯定是不能正确访问的&#xff1a;会出现如下错误&#xff1a; 那么&#xff0c;此时&#xff0c;你应该&#xff1a; 静态资源映射&#xff1a; import org.springframework.context.annotation.Configuration; im…

command not found: wire 解决方案【学习笔记,不作教程】

command not found: wire command not found: wire command not found: wire go get github.com/google/wire/cmd/wirego install github.com/google/wire/cmd/wirelatest再次在 /bubble/cmd/bubble目录下执行wire wire wire: bubble/cmd/bubble: wrote /Users/zhengshijie/go…

音视频开发5 补充 - Nginx搭建rtmp流媒体服务器,目的是让ffmpeg 可以直播推流

直播推流 ffmpeg -re -i out.mp4 -c copy flv rtmp://server/live/streamName -re, 表示按时间戳读取文件 参考&#xff1a; Nginx 搭建 rtmp 流媒体服务器 (Ubuntu 16.04) https://www.jianshu.com/p/16741e363a77 第一步 准备工作 安装nginx需要的依赖包 打开 ubutun 终端…

社会网络,生态网络,贸易网络,复杂网络边介数蓄意和随机攻击

​边介数&#xff08;Edge Betweenness&#xff09; # ” 边介数&#xff08;Edge Betweenness&#xff09; 1 边介数&#xff08;Edge Betweenness&#xff09; Summer IS HERE 边介数&#xff08;Edge Betweenness&#xff09;是一种度量边在网络中重要性的指标。它定义为…

OpenStack平台Nova管理

1. 规划节点 使用OpenStack平台节点规划 IP主机名节点192.168.100.10controller控制节点192.168.100.20compute计算节点 2. 基础准备 部署的OpenStack平台 1. Nova运维命令 &#xff08;1&#xff09;Nova管理安全组规划 安全组&#xff08;security group&#xff09;是…

设计模式八股文

什么是设计模式&#xff1f; 设计模式是软件开发过程中经常遇到的问题的通用解决方案。类似于前人总结的经验&#xff0c;遇到相似问题的时候有个参考。 设计模式七大基本原则&#xff1f; 单一职责&#xff1a;一个类应该只作一件事情。将功能分为小的独立的单元。开放封闭…

CTF之Web_python_block_chain

这种题对于我来说只能看大佬的wp&#xff08;但是这一题是wp都看不懂&#xff0c;只能表达一下我的理解了&#xff09; &#xff08;最后有简单方法&#xff0c;前面一种没看懂没关系&#xff09; 下面这一部分是首页的有用部分 访问/source_code,得到源码&#xff1a; # -*-…

宁夏银川、山东济南、中国最厉害的改名大师的老师颜廷利教授的前沿思想观点

在当代社会&#xff0c;一个响亮的声音穿越了传统的迷雾&#xff0c;它来自东方哲学的殿堂&#xff0c;由一位现代学者颜廷利教授所发出。他的话语&#xff0c;如同一股清泉&#xff0c;在混沌的世界里激荡着思考的波澜&#xff1a;"有‘智’不在年高&#xff0c;无‘智’…