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

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)过程。它帮助开发人员自动化构建、测试和部署应用程序,显著提高软件开发的效率和质量…...

二、CSS笔记

(一)css概述 1、定义 CSS是Cascading Style Sheets的简称,中文称为层叠样式表,用来控制网页数据的表现,可以使网页的表现与数据内容分离。 2、要点 怎么找到标签怎么操作标签对象(element) 3、css的四种引入方式 3.1 行内式 在标签的style属性中设定CSS样式。这种方…...

计算图 Compute Graph 和自动求导 Autograd | PyTorch 深度学习实战

前一篇文章,Tensor 基本操作5 device 管理,使用 GPU 设备 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started PyTorch 计算图和 Autograd 微积分之于机器学习Computational Graphs 计算图Autograd…...

基于 Java 开发的 MongoDB 企业级应用全解析

基于Java的MongoDB企业级应用开发实战 目录 背景与历史MongoDB的核心功能与特性企业级业务场景分析MongoDB的优缺点剖析开发环境搭建 5.1 JDK安装与配置5.2 MongoDB安装与集群配置5.3 开发工具选型 Java与MongoDB集成实战 6.1 项目依赖与驱动选择6.2 连接池与客户端配置6.3…...

构建一个测试助手Agent:提升测试效率的实践

在上一篇文章中,我们讨论了如何构建一个运维助手Agent。今天,我想分享另一个实际项目:如何构建一个测试助手Agent。这个项目源于我们一个大型互联网公司的真实需求 - 提升测试效率,保障产品质量。 从测试痛点说起 记得和测试团队讨论时的场景: 小张:每…...

ESXI虚拟机中部署docker会降低服务器性能

在 8 核 16GB 的 ESXi 虚拟机中部署 Docker 的性能影响分析 在 ESXi 虚拟机中运行 Docker 容器时,性能影响主要来自以下几个方面: 虚拟化开销:ESXi 虚拟化层和 Docker 容器化层的叠加。资源竞争:虚拟机与容器之间对 CPU、内存、…...

基于“蘑菇书”的强化学习知识点(五):条件期望

条件期望 摘要一、条件期望的定义二、条件期望的关键性质三、条件期望的直观理解四、条件期望的应用场景五、简单例子离散情况连续情况 摘要 本系列知识点讲解基于蘑菇书EasyRL中的内容进行详细的疑难点分析!具体内容请阅读蘑菇书EasyRL! 对应蘑菇书Eas…...

Linux抢占式内核:技术演进与源码解析

一、引言 Linux内核作为全球广泛使用的开源操作系统核心,其设计和实现一直是计算机科学领域的研究热点。从早期的非抢占式内核到2.6版本引入的抢占式内核,Linux在实时性和响应能力上取得了显著进步。本文将深入探讨Linux抢占式内核的引入背景、技术实现以及与非抢占式内核的…...

接入DeepSeek大模型

接入DeepSeek 下载并安装Ollamachatbox 软件配置大模型 下载并安装Ollama 下载并安装Ollama, 使用参数ollama -v查看是否安装成功。 输入命令ollama list, 可以看到已经存在4个目录了。 输入命令ollama pull deepseek-r1:1.5b, 下载deepse…...

【论文复现】粘菌算法在最优经济排放调度中的发展与应用

目录 1.摘要2.黏菌算法SMA原理3.改进策略4.结果展示5.参考文献6.代码获取 1.摘要 本文提出了一种改进粘菌算法(ISMA),并将其应用于考虑阀点效应的单目标和双目标经济与排放调度(EED)问题。为提升传统粘菌算法&#xf…...

SSM开发(十) SSM框架协同工作原理

目录 一、Spring扮演了一个整合者的角色 二、SSM拆解来看 三、SSM框架的核心优势 注: SSM框架(Spring + Spring MVC + MyBatis) 一、Spring扮演了一个整合者的角色 SSM框架中,Spring扮演了一个整合者的角色,它将Spring MVC的Web层和MyBatis的数据持久层连接起来。在SS…...

UE Bridge混合材质工具

打开虚幻内置Bridge 随便点个材质点右下角图标 就能打开材质混合工具 可以用来做顶点绘制...

基于 yolov8_pyqt5 自适应界面设计的火灾检测系统 demo:毕业设计参考

基于 yolov8_pyqt5 自适应界面设计的火灾检测系统 demo:毕业设计参考 【毕业设计参考】基于yolov8-pyqt5自适应界面设计的火灾检测系统demo.zip资源-CSDN文库 【毕业设计参考】基于yolov8-pyqt5自适应界面设计的火灾检测系统demo.zip资源-CSDN文库 一、项目背景 …...

Linux 传输层协议 UDP 和 TCP

UDP 协议 UDP 协议端格式 16 位 UDP 长度, 表示整个数据报(UDP 首部UDP 数据)的最大长度如果校验和出错, 就会直接丢弃 UDP 的特点 UDP 传输的过程类似于寄信 . 无连接: 知道对端的 IP 和端口号就直接进行传输, 不需要建立连接不可靠: 没有确认机制, 没有重传机制; 如果因…...

Android开发EventBus

Android开发EventBus 分享一个EventBus 工具类,封装一下,让你少写些代码 直接上代码: public class BaseEventBusUtils {public static void register(Object subscriber) {EventBus eventBus EventBus.getDefault();if (!eventBus.isReg…...

chrome浏览器chromedriver下载

chromedriver 下载地址 https://googlechromelabs.github.io/chrome-for-testing/ 上面的链接有和当前发布的chrome浏览器版本相近的chromedriver 实际使用感受 chrome浏览器会自动更新,可以去下载最新的chromedriver使用,自动化中使用新的chromedr…...

第一个Qt开发实例(一个Push Button按钮和两个Label)【包括如何在QtCreator中创建新工程、代码详解、编译、环境变量配置、测试程序运行等】

目录 Qt开发环境QtCreator的安装、配置在QtCreator中创建新工程在Forms→mainwindow.ui中拖曳出我们要的图形按钮查看拖曳出按钮后的代码为pushButton这个图形添加回调函数编译工程关闭开发板上QT的GUI(选做)禁止LCD黑屏(选做)设置Qt运行的环境变量运行Qt程序如何让程序在系统启…...

【react+redux】 react使用redux相关内容

首先说一下,文章中所提及的内容都是我自己的个人理解,是我理逻辑的时候,自我说服的方式,如果有问题有补充欢迎在评论区指出。 一、场景描述 为什么在react里面要使用redux,我的理解是因为想要使组件之间的通信更便捷…...

【435. 无重叠区间 中等】

题目: 给定一个区间的集合 intervals ,其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。 注意 只在一点上接触的区间是 不重叠的。例如 [1, 2] 和 [2, 3] 是不重叠的。 示例 1: 输入: intervals …...

文献学习笔记:中风醒脑液(FYTF-919)临床试验解读:有效还是无效?

【中风醒脑液(FYTF-919)临床试验解读:有效还是无效?】 在发表于 The Lancet (2024 年 11 月 30 日,第 404 卷)的临床研究《Traditional Chinese medicine FYTF-919 (Zhongfeng Xingnao oral pr…...

4 前端前置技术(中):node.js环境

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

5.角色基础移动

能帮到你的话,就给个赞吧 😘 文章目录 角色的xyz轴与移动方向拌合输入轴值add movement inputget controller rotationget right vectorget forward vector 发现模型的旋转改变后,xyz轴也会改变,所以需要旋转值来计算xyz轴方向。 …...

vue2语法速通

首先,git clone下来的项目要npm install下载依赖,如果是vue项目,运行通常npm run serve或者npm run dev vue速通一下 使用vite创建项目(较快) npm create vite 配置文件 src/ ├── assets/ # 存放…...

doris:基于导入的批量删除

基于导入的批量删除​ 删除操作可以视为数据更新的一种特殊形式。在主键模型(Unique Key)表上,Doris 支持通过导入数据时添加删除标记来实现删除操作。 相比 DELETE 语句,使用删除标记在以下场景中具有更好的易用性和性能优势&a…...

【商品库存管理——差分、前缀和】

题目 代码 #include <bits/stdc.h> using namespace std; const int N 3e510; int l[N], r[N], b[N]; int s1[N], s0[N]; int main() {int n, m;cin >> n >> m;for(int i 1; i < m; i){cin >> l[i] >> r[i];b[l[i]], b[r[i]1]--;}int a 0…...

Linux基本指令2

07.man指令&#xff08;重要&#xff09;&#xff1a; Linux的命令有很多参数&#xff0c;我们不可能全记住&#xff0c;我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是 man 语法: man [选项] 命令 man ls查看ls指令更多的说明。 man man&#xff1a; man指令就…...

运维监控平台 WGCLOUD

WGCLOUD v3.5.7 于 2025 年 2 月 3 日发布1。这是一款开源免费的分布式运维监控平台&#xff0c;server 端基于 springboot 开发&#xff0c;agent 端使用 go 编写1。以下是 v3.5.7 版本的更新内容1&#xff1a; 2. 自定义告警批量添加设置 3. 告警通知渠道设置 4. 告警规则设置…...

GDAL矢量数据集相关接口的资源控制问题

1. 引言 笔者在《使用GDAL读写矢量文件》这篇文章中总结了通过GDAL读写矢量的具体实现。不过这篇文章中并没有谈到涉及到矢量数据集相关接口的资源控制问题。具体来说&#xff0c;GDAL/OGR诞生的年代连C语言本身都不是很完善&#xff08;c11之前&#xff09;&#xff0c;因此提…...

Android学习19 -- 手搓App

1 前言 之前工作中&#xff0c;很多时候要搞一个简单的app去验证底层功能&#xff0c;Android studio又过于重型&#xff0c;之前用gradle&#xff0c;被版本匹配和下载外网包折腾的堪称噩梦。所以搞app都只有找应用的同事帮忙。一直想知道一些简单的app怎么能手搓一下&#x…...

人工智能导论-第3章-知识点与学习笔记

参考教材3.2节的内容&#xff0c;介绍什么是自然演绎推理&#xff1b;解释“肯定后件”与“否定前件”两类错误的演绎推理是什么意义&#xff0c;给出具体例子加以阐述。参考教材3.3节的内容&#xff0c;介绍什么是文字&#xff08;literal&#xff09;&#xff1b;介绍什么是子…...