当前位置: 首页 > news >正文

Docker 部署教程jenkins

Docker 部署 jenkins 教程

Jenkins 官方网站

Jenkins 是一个开源的自动化服务器,主要用于持续集成(CI)和持续交付(CD)过程。它帮助开发人员自动化构建、测试和部署应用程序,显著提高软件开发的效率和质量。以下是 Jenkins 的一些关键特点:

  • 持续集成与持续交付:
    Jenkins 可以自动化构建和测试代码,这意味着每当有新代码提交时,Jenkins 会自动构建并测试这个代码,确保它不会破坏现有功能。
    通过自动化部署,Jenkins 也支持持续交付,使得软件能快速发布到生产环境中。
  • 插件支持:
    Jenkins 提供了丰富的插件生态系统,几乎可以与任何工具链(如版本控制系统 Git、构建工具 Maven 和 Gradle、容器 Docker 等)集成,支持多种开发、测试和部署工具。
  • 易于配置和使用:
    Jenkins 提供了一个基于 Web 的用户界面,方便用户配置任务和查看执行状态。
    通过图形化界面和配置文件,Jenkins 可以非常灵活地进行设置,适应各种开发需求。
  • 分布式构建:
    Jenkins 支持通过分布式构建模式来提高构建效率。可以将构建过程分发到多台机器上进行并行处理,提升构建速度。
  • 流水线(Pipeline):
    Jenkins 提供了 “流水线” 插件,使得构建、测试、部署等过程可以通过一系列脚本化步骤进行自动化。这可以帮助开发团队清晰地定义和管理整个软件交付过程。
  • 社区支持和文档:
    Jenkins 拥有一个活跃的社区和丰富的文档资源,用户可以很容易找到教程、指南和支持。

Jenkins 中文社区:提供中文教程、博客和活动信息,方便中文用户获取支持和交流。
通过这些资源,您可以深入了解 Jenkins,获取最新的插件和文档,并与全球的 Jenkins 用户和开发者进行交流。


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • Docker 部署 jenkins 教程
    • 1.拉取 Jenkins 镜像
    • 2.运行 Jenkins 容器
    • 3.获取 Jenkins 初始管理员密码
    • 4.访问 Jenkins Web 界面
    • 5.创建admin账号
    • 6.实例配置
    • 7.开始使用 jenkins
    • 8.停止和删除 Jenkins 容器(如果需要)
    • 总结


1.拉取 Jenkins 镜像

在这里插入图片描述
在终端中运行以下命令,从 Docker Hub 拉取 Jenkins 的官方镜像:

docker pull jenkins/jenkins:lts

lts 代表长期支持版本。如果您需要最新的 Jenkins 版本,可以使用 latest 标签。
在这里插入图片描述

2.运行 Jenkins 容器

使用以下命令启动 Jenkins 容器:

docker run -d -p 8081:8080 -p 50000:50000 --name jenkins jenkins/jenkins:lts

在这里插入图片描述
-d:让容器在后台运行。
-p 8081:8080:将容器的 8080 端口映射到主机的 8081 端口,Jenkins Web 界面将通过此端口进行访问。
因为 8080 被占用了,所以这里换一个端口
-p 50000:50000:将容器的 50000 端口映射到主机的 50000 端口,用于 Jenkins 从其他机器接收构建代理。
–name jenkins:设置容器的名称为 jenkins。、

3.获取 Jenkins 初始管理员密码

启动容器后,Jenkins 会生成一个初始的管理员密码。在终端中运行以下命令,查看初始管理员密码:

bash
复制代码

docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword

C:\Users\kc>docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword
e646b8b812b54db5baf54cf253dcdb46

在这里插入图片描述

复制显示的密码,您将在 Web 界面上使用它进行首次登录。

4.访问 Jenkins Web 界面

打开浏览器并访问 http://localhost:8081(如果您在本地机器上运行 Jenkins)。在登录页面上,输入上一步中获得的初始管理员密码。
在这里插入图片描述
e646b8b812b54db5baf54cf253dcdb46

5.创建admin账号

admin/123456
在这里插入图片描述

6.实例配置

http://localhost:8081/
在这里插入图片描述
在这里插入图片描述

7.开始使用 jenkins

在这里插入图片描述

8.停止和删除 Jenkins 容器(如果需要)

如果您希望停止 Jenkins 容器,可以使用以下命令:

docker stop jenkins

要删除 Jenkins 容器,可以运行:

docker rm jenkins

总结

jenkins 中文社区

jenkins教程

最后 附上安装以后得登录页面
在这里插入图片描述

相关文章:

Docker 部署教程jenkins

Docker 部署 jenkins 教程 Jenkins 官方网站 Jenkins 是一个开源的自动化服务器,主要用于持续集成(CI)和持续交付(CD)过程。它帮助开发人员自动化构建、测试和部署应用程序,显著提高软件开发的效率和质量…...

深入理解开放寻址法中的三种探测序列

一、引言 开放寻址法是解决散列表中冲突的一种重要方法,当发生冲突(即两个不同的键通过散列函数计算得到相同的散列值)时,它会在散列表中寻找下一个可用的存储位置。而探测序列就是用于确定在发生冲突后,依次尝试哪些…...

图像噪声处理技术:让图像更清晰的艺术

在这个数字化时代,图像作为信息传递的重要载体,其质量直接影响着我们的视觉体验和信息解读。然而,在图像采集、传输或处理过程中,难免会遇到各种噪声干扰,如高斯噪声、椒盐噪声等,这些噪声会降低图像的清晰…...

linux运行级别

运行级别:指linux系统在启动和运行过程中所处的不同的状态。 运行级别之间的切换:init (级别数) 示例: linux的运行级别一共有7种,分别是: 运行级别0:停机状态 运行级别1:单用户模式/救援模式…...

深入剖析Electron的原理

Electron是一个强大的跨平台桌面应用开发框架,它允许开发者使用HTML、CSS和JavaScript来构建各种桌面应用程序。了解Electron的原理对于开发者至关重要,这样在设计应用时能更合理,遇到问题也能更准确地分析和解决。下面将从多个方面深入剖析E…...

C++ 游戏开发:完整指南

目录 什么是游戏开发? 为什么选择 C 进行游戏开发? C 游戏开发:完整指南 1. 理解游戏开发的基础 2. 学习游戏引擎 3. 精通 C 进行游戏开发 4. 学习数学在游戏开发中的应用 5. 探索图形编程 6. 专注于游戏开发的某一领域 7. 通过游戏项目进行实…...

WebForms SortedList 深度解析

WebForms SortedList 深度解析 引言 在Web开发领域,对于数据结构的理解与应用至关重要。其中,SortedList类在WebForms中是一个常用的数据结构,它能够帮助开发者高效地管理有序数据集合。本文将深入解析SortedList类在WebForms中的应用,包括其基本概念、常用方法、性能特点…...

【hot100】刷题记录(12)-回文链表

题目描述: 给你一个单链表的头节点 head ,请你判断该链表是否为 回文链表 。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:head [1,2,2,1] 输出:true示例 2: …...

深入理解 Unix Shell 管道 Pipes:基础和高级用法 xargs tee awk sed等(中英双语)

深入理解 Unix Shell 管道(|) 1. 什么是管道(Pipe)? 管道(|)是 Unix/Linux Shell 中最强大的功能之一,它允许将一个命令的输出作为另一个命令的输入,从而实现数据流的处…...

[MySQL]事务的理论、属性与常见操作

目录 一、事物的理论 1.什么是事务 2.事务的属性(ACID) 3.再谈事务的本质 4.为什么要有事务 二、事务的操作 1.事务的支持版本 2.事务的提交模式 介绍 自动提交模式 手动提交模式 3.事务的操作 4.事务的操作演示 验证事务的回滚 事务异常…...

RS485接口EMC

A.滤波设计要点 L1为共模电感,共模电感能够衰减共模干扰,对单板内部的干扰以及外部的干扰都能抑制,能提高产品的抗干扰能力,同时也能减小通过485信号线对外的辐射,共模电感阻抗选择范围为120Ω/100MHz ~2200Ω/100MHz…...

快速上手mybatis教程

基础知识 MyBatis 是一款优秀的持久层框架,其核心组件主要包括以下部分: SqlSession 作用:SqlSession 是 MyBatis 的核心接口,负责与数据库进行通信,执行 SQL 语句,并返回查询结果。它是 MyBatis 的一次会…...

本地部署DeepSeek-R1保姆级教程

近期,我国一款开源模型 DeepSeek-R1以低成本和高性能震撼了全球科技界。该模型的开源性使开发者能够在本地环境中部署和运行,提供了更高的灵活性和控制力。如果你也想在本地部署 DeepSeek-R1,可以参考以下完整的教程,涵盖Mac 版本…...

blender 相机参数

目录 设置相机参数: 3. 设置相机参数示例 4. 相机透视与正交 5. 额外的高级设置 设置相机参数: 设置渲染器: 外参转换函数 转换测试代码: 获取blender渲染外参: 设置相机参数: 3. 设置相机参数示…...

在GPIO控制器中,配置通用输入,读取IO口电平时,上拉和下拉起到什么作用

上下拉电阻作用 在通用输入的时候,也就是在读某个IO的电平的时候 一定要让IO口先保持一个电平状态,这样才能检测到不同电平状态。 如何保持电平状态? 1. 可以通过芯片内部的上下拉电阻,由于是弱上下拉一般不用 2. 硬件外界一个…...

Maven工程核心概念GAVP详解:从命名规范到项目协作的基石

Maven工程核心概念GAVP详解:从命名规范到项目协作的基石 一、GAVP是什么? 在Maven工程中,GAVP是四个核心属性的缩写:GroupId、ArtifactId、Version、Packaging。这组属性为项目在Maven仓库中提供了唯一标识,类似于“项…...

如何利用DeepSeek打造医疗领域专属AI助手?从微调到部署全流程解析

如何利用DeepSeek开源模型打造医疗领域专属AI助手?从微调到部署全流程解析 医疗人工智能正迎来爆发式增长,但在实际应用中,通用大模型往往存在医学知识不精准、诊断逻辑不严谨等问题。本文将手把手带您实现医疗垂直领域大模型的定制化训练&a…...

Redis|前言

文章目录 什么是 Redis?Redis 主流功能与应用 什么是 Redis? Redis,Remote Dictionary Server(远程字典服务器)。Redis 是完全开源的,使用 ANSIC 语言编写,遵守 BSD 协议,是一个高性…...

眼见着折叠手机面临崩溃,三星计划增强抗摔能力挽救它

据悉折叠手机开创者三星披露了一份专利,通过在折叠手机屏幕上增加一个抗冲击和遮光层的方式来增强折叠手机的抗摔能力,希望通过这种方式进一步增强折叠手机的可靠性和耐用性,来促进折叠手机的发展。 据悉三星和研发可折叠玻璃的企业的做法是在…...

Leetcode面试高频题分类刷题总结

https://zhuanlan.zhihu.com/p/349940945 以下8个门类是面试中最常考的算法与数据结构知识点。 排序类(Sort): 基础知识:快速排序(Quick Sort), 归并排序(Merge Sort)的…...

Vue.js `v-memo` 性能优化技巧

Vue.js v-memo 性能优化技巧 今天我们来聊聊 Vue 3.2 引入的一个性能优化指令:v-memo。如果你在处理大型列表或复杂组件时,遇到性能瓶颈,那么 v-memo 可能会成为你的得力助手。 什么是 v-memo? v-memo 是 Vue 3.2 新增的内置指…...

Altium Designer绘制原理图时画斜线的方法

第一步:检查设置是否正确 打开preferences->PCB Editor ->Interactive Routing->Interactive Routing Options->Restrict TO 90/45去掉勾选项,点击OK即可。如下图所示: 然后在划线时,按下shift空格就能够切换划线…...

在K8S中,有哪几种控制器类型?

在Kubernetes中,控制器(Controller)是用来确保实际集群状态与所需状态保持一致的关键组件。它们监控并自动调整系统以达到预期状态,以下是Kubernetes中主要的几种控制器类型: ReplicationController(RC&am…...

什么是Rust?它有什么特点?为什么要学习Rust?

什么是Rust?它有什么特点?为什么要学习Rust? 如果你是一名编程初学者,或者已经有一些编程经验但对Rust感兴趣,那么这篇文章就是为你准备的!我们将用简单易懂的语言,带你了解Rust是什么、它有什…...

Golang 并发机制-3:通道(channels)机制详解

并发编程是一种创建性能优化且响应迅速的软件的强大方法。Golang(也称为 Go)通过通道(channels)这一特性,能够可靠且优雅地实现并发通信。本文将揭示通道的概念,解释其在并发编程中的作用,并提供…...

kamailio的kamctl的使用

kamctl 是 Kamailio SIP 服务器的管理工具,用于执行各种管理任务,如启动、停止、重启 Kamailio 进程,管理用户、ACL、路由、信任的 IP 地址等。以下是对 kamctl 命令的解释及举例说明: 1. 启动、停止、重启 Kamailio start: 启动…...

HarmonyOS:ArkWeb进程

ArkWeb是多进程模型,分为应用进程、Web渲染进程、Web GPU进程、Web孵化进程和Foundation进程。 说明 Web内核没有明确的内存大小申请约束,理论上可以无限大,直到被资源管理释放。 ArkWeb进程模型图 应用进程中Web相关线程(应用唯一) 应用进程为主进程。包含网络线程、Vi…...

UI线程用到COM只能选单线程模型

无论用不用UI库,哪怕是用Win32 API手搓UI,UI线程要用COM的话,必须初始化为单线程单元(STA),即CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED);,不能用MULTITHREADTHREADED。 实际上,很多(WPF等)UI库若…...

LLMs之DeepSeek:Math-To-Manim的简介(包括DeepSeek R1-Zero的详解)、安装和使用方法、案例应用之详细攻略

LLMs之DeepSeek:Math-To-Manim的简介(包括DeepSeek R1-Zero的详解)、安装和使用方法、案例应用之详细攻略 目录 Math-To-Manim的简介 1、特点 2、一个空间推理测试—考察不同大型语言模型如何解释和可视化空间关系 3、DeepSeek R1-Zero的简介:处理更…...

在C语言中使用条件变量实现线程同步

互斥量、原子操作都是实现线程同步的方法,今日介绍使用条件变量来实现线程同步。在多线程应用中,当某个线程的执行依赖于另一个线程对数据的处理时,这个线程可能没有被阻塞,只是不断地检查某个条件是否成立了(这个条件…...