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

news2024/11/15 10:35:42

在这里插入图片描述

😄 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.coloradmin.cn/o/1696550.html

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

相关文章

pytorch笔记:torch.nn.Flatten()

1 介绍 torch.nn.Flatten(start_dim1, end_dim-1) 将一个连续的维度范围扁平化为一个张量 start_dim (int)要开始扁平化的第一个维度&#xff08;默认值 1&#xff09;end_dim (int)要结束扁平化的最后一个维度&#xff08;默认值 -1&#xff09; 2 举例 input torch.ra…

PyTorch基础(22)-- torch.chunk()方法

分享一下自己目前在维护的Github项目&#xff0c;由于本人博士阶段接触了一个全新的研究方向-----使用机器学习、强化学习、深度学习等方法解决组合优化问题&#xff0c;维护这个项目的目的&#xff1a; &#xff08;1&#xff09;记录自己阅读过的paper&#xff0c;同时分享一…

Attention相关问题笔试解析。

Attention相关问题笔试解析。 题目描述一&#xff1a;【选择】题目描述二&#xff1a;【简答】题目描述三&#xff1a;【代码】Scaled Dot-Product Attention&#xff1a;下面是用PyTorch实现的一个Attention机制的代码。这个实现包括一个简单的Scaled Dot-Product Attention机…

多模态交互式 AI 代理的兴起:探索 Google 的 Astra 和 OpenAI 的 ChatGPT-4o应用

OpenAI的发展 聊天GPT-4o 和 谷歌的阿斯特拉 标志着交互式人工智能代理的新阶段&#xff1a;多模式交互式人工智能代理的兴起。这次旅程开始于 Siri 和 Alexa的&#xff0c;它将语音激活的人工智能带入主流用途&#xff0c;并通过语音命令改变了我们与技术的交互。尽管有影响&a…

Rolla‘s homework:Image Processing with Python Final Project

对比学习Yolo 和 faster rcnn 两种目标检测 要求 Image Processing with Python Final Project Derek TanLoad several useful packages that are used in this notebook:Image Processing with Python Final Project Project Goals: • Gain an understanding of the object …

【python】python小区住房数据可视化(源码+数据)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

树莓派4B 有电但无法启动

试过多个SD卡&#xff0c;反复烧系统镜像都无法启动。接HDMI显示器没有信号输出&#xff0c;上电后PWR红灯长亮&#xff0c;ACT绿灯闪一下就不亮了&#xff0c;GPIO几个电源脚有电&#xff0c;芯片会发热&#xff0c;测量多个TP点电压好像都正常。 ……

【电子元件】TL431 电压基准

TL431(C23892)是一种常用的可调节精密电压基准和电压调节器。它广泛应用于电源管理、精密参考电压和稳压电路等领域。以下是TL431的一些关键特点和使用方法&#xff1a; 关键特点 可调输出电压&#xff1a;TL431的输出电压可以通过外部电阻网络在2.495V到36V范围内调整。精度高…

【笔记】Pytorch安装配置

参考视频 安装前建议预留至少10个G的空间&#xff0c;会省下很多麻烦 查看安装是否成功&#xff0c;可以在Anaconda Prompt里输入conda list查看conda环境是否配置了pytorch/torchvision 1.安装anaconda 2.安装 CUDA CUDA在官网直接安装即可&#xff0c;需要先查看自己电脑…

fpga问题整理

1、quartus联合modelsim仿真 无波形 问题&#xff1a; modelsim仿真无波形&#xff0c;打开transcript可以看到警告。 警告&#xff1a; # ** Warning: (vlog-2083) f:/program files/altera/ 13.1/quartus/ eda/sim_lib/ altera_lnsim.sv(22728): Carriage return (0x0D) is…

【前端笔记】Vue项目报错Error: Cannot find module ‘webpack/lib/RuleSet‘

网上搜了下发现原因不止一种&#xff0c;这里仅记录本人遇到的原因和解决办法&#xff0c;仅供参考 原因&#xff1a;因为某种原因导致本地package.json中vue/cli与全局vue/cli版本不同导致冲突。再次提示&#xff0c;这是本人遇到的&#xff0c;可能和大家有所不同&#xff0c…

子线程无法访问父线程中通过ThreadLocal设置的变量

学习过ThreadLocal的童鞋都知道&#xff0c;在子线程中&#xff0c;是无法访问父线程通过ThreadLocal设置的变量的。 package thread;/*** author heyunlin* version 1.0*/ public class ThreadLocalExample {public static void main(String[] args) throws InterruptedExcep…

搭建CMS系统

搭建CMS系统 1 介绍 内容管理系统&#xff08;Content Management System&#xff0c;CMS&#xff09;是一种用于管理、发布和修改网站内容的系统。开源的CMS系统有WordPress、帝国CMS等&#xff0c;国产的Halo很不错。 WordPress参考地址 # 官网 https://wordpress.org/# …

信号量——多线程

信号量的本质就是一个计数器 在多线程访问临界资源的时候&#xff0c;如果临界资源中又有很多份分好的资源&#xff0c;那么就可以通过信号量来表示里面还有多少份资源&#xff0c;且每份资源只有一个线程可以访问 线程申请信号量成功&#xff0c;就一定有一份资源是你的&…

SAP-技巧篇实现GUI免密码登录

做为上千万的软件怎么会没有免密码登录呢 01 — 背景需求 如何实现SAP GUI免密码登录&#xff0c;不输入密码实现系统自动登录。 免责声明&#xff1a;谨慎设置&#xff0c;因免密登录导致数据泄密&#xff0c;作者概不负责。 02 — 实现 客户端要求&#xff1a;SAP G…

微信小程序毕业设计-学生知识成果展示与交流系统项目开发实战(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…

17.分类问题

机器学习分类问题详解与实战 介绍 在机器学习中&#xff0c;分类问题是一类常见的监督学习任务&#xff0c;其目标是根据输入特征将数据样本划分为预先定义的类别之一。分类问题广泛应用于各个领域&#xff0c;如图像识别、自然语言处理、金融风险评估等。本文将详细介绍机器…

vue3瀑布流示例,左侧菜单根据窗口滚动条进行固定和取消固定,实现瀑布流demo

瀑布流demo的实现效果&#xff1a; 效果说明&#xff1a; 1.使用vue3实现瀑布流效果&#xff1b; 2.瀑布流横向设置5等分&#xff0c;可根据个人需求调整&#xff1b; 3.左侧菜单可根据右侧滚动条滑动时进行固定和取消固定&#xff0c;实现更优的展示效果&#xff1b; 4.瀑…