【DevOps视频笔记】6 - 7. Jenkins 介绍 和 安装

2023-11-20

一、Integrate 工具

二、Jenkins 介绍

1. Jenkins 最主要的工作

2. CI / CD 可以理解为:

2.1 CI 过程

2.2 CD 过程

 三、Jenkins 安装

 1. 安装准备工作

 2. 安装 Jenkins

Stage 1:拉取 jenkins 镜像

Stage 2:编写docker-compose.yml

Stage 3:设置data目录写权限(不设置会报错)

Stage 4:安装 jenkins

Stage 5:重启当前容器(jenkins)

Stage 6:查看日志获取初始密码

Stage 7:查看首页:

Stage 8:设置国内镜像

Stage 9:等待如下页面后:输入初始密码

Stage 10:下载插件(默认即可)

Stage 11:等待插件下载

Stage 12:创建:第一个管理员

Stage 13:设置jenkins路径(默认即可)

Stage 14:开始 jenkins

  安装失败的插件

Stage 15:安装 Git Parameter 和 Publish Over SSH

Stage 16:如果安装失败:查询启动容器


一、Integrate 工具

  • 持续集成、持续部署 的工具很多,其中Jenkins是一个开源的持续集成平台
  • Jenkins 将编写完毕的代码发布到测试环境和生产环境的任务,并且构建项目
  • Jenkins 需要大量的插件保证工作,安装成本较高,下面会基于Docker搭建Jenkins

二、Jenkins 介绍

  • 开源软件项目
  • 基于Java开发 的一种 持续集成工具
  • DevOps 方案之一Jenkins 配合 GitLab、Docker、K8s 作为实现[DevOps]的核心工具。
  • Jenkins最强大的就在于插件,Jenkins官方提供了大量的插件库,来自动化CI/CD过程中的各种琐碎功能

1. Jenkins 最主要的工作

将GitLab上可以构建的工程代码拉取并构建,再根据流程选择发布到测试环境或是生产环境。 

一般是GitLab上的代码经过大量的测试后,确定发行版本,再发布到生产环境。

2. CI / CD 可以理解为:

过程 Jenkins 工作 协同
CI 将代码拉取、构建、制作镜像 测试人员测试
CD 将打好标签的发行版本代码 拉取、构建、制作镜像 运维人员部署

2.1 CI 过程

通过 Jenkins 将代码拉取、构建、制作镜像 交给 测试人员测试

  • 持续集成(Continuous Integration)让软件代码可以持续的集成到主干上,并自动构建和测试。

2.2 CD 过程

通过Jenkins 将打好标签的发行版本代码 拉取、构建、制作镜像交给 运维人员部署

  • 持续交付(Continuous Delivery):让经过持续集成的代码可以进行手动部署。
  • 持续部署(Continuous Deployment):让可以持续交付的代码随时随地的自动化部署。

 三、Jenkins 安装

 1. 安装准备工作

 2. 安装 Jenkins

Stage 1:拉取 jenkins 镜像

docker pull jenkins/jenkins

Stage 2:编写docker-compose.yml

version: "3.1"
services:
  jenkins:
    image: jenkins/jenkins
    container_name: jenkins
    ports:
      - 8080:8080
      - 50000:50000
    volumes:
      - ./data/:/var/jenkins_home/  # 插件的安装目录
  • 其中目录结构

Stage 3:设置data目录写权限(不设置会报错

chmod -R a+w data

Stage 4:安装 jenkins

#进入jenkins安装目录
cd /mnt/bigdata/devops/jenkins
docker-compose up -d

Stage 5:重启当前容器(jenkins

  • 如果已经设置 Stage 3,就不会报错,这一步重启可以省略

docker-compose restart

Stage 6:查看日志获取初始密码

docker logs -f jenkins

Stage 7:查看首页:

  • ip:8080 ( 准备中...如果时间过长:设置国内镜像 )

Stage 8:设置国内镜像

# 修改数据卷中的hudson.model.UpdateCenter.xml文件
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://updates.jenkins.io/update-center.json</url>
  </site>
</sites>
# 将下载地址替换为http://mirror.esuni.jp/jenkins/updates/update-center.json
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>http://mirror.esuni.jp/jenkins/updates/update-center.json</url>
  </site>
</sites>
# 清华大学的插件源也可以https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

  • 数据卷文件列表
  • 目录:cd /mnt/bigdata/devops/jenkins/data

Stage 9:等待如下页面后:输入初始密码

Stage 10:下载插件(默认即可

Stage 11:等待插件下载

  • 失败也不要紧,后面继续安装

Stage 12:创建:第一个管理员

Stage 13:设置jenkins路径(默认即可)

Stage 14:开始 jenkins

  安装失败的插件

  • Updates : 需要更新的
  • Available:可用的
  • Installed:已安装的
  • Advanced

Stage 15:安装 Git Parameter 和 Publish Over SSH

  •  跳转下载页面

Stage 16:如果安装失败:查询启动容器

docker-compose restart

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【DevOps视频笔记】6 - 7. Jenkins 介绍 和 安装 的相关文章

  • Windows 主服务器上的 Jenkins Poll SCM (Git) / Linux 从服务器上的构建

    这是我的场景 使用 git 作为我的 SCM Jenkins Job 在 Linux Slave 上运行 Jenkins master 托管在 Windows 上 我已经配置了两个 Git 安装 如所示Jenkins 到 git Windo
  • Windows 从属设备上的 Jenkins Git SSH 密钥

    目前 我们在 Windows 上有一个 Jenkins 主服务器 一个 ubuntu 从服务器和一个 Windows 从服务器 我正在尝试在 Windows 从机上设置 git msysgit 已安装 并且我将该目录包含在系统路径变量中 以
  • 如果执行 shell 失败,jenkins 构建不会失败

    作为构建过程的一部分 我运行 git commit 作为执行 shell 步骤 但是 如果工作区中没有任何更改 Jenkins 将导致构建失败 这是因为当没有要提交的更改时 git 返回错误代码 如果是这种情况 我想要么中止构建 要么将其标
  • jenkins构建完成后如何将更改推送到github?

    我有一个 jenkins 作业 它从 github 克隆存储库 然后运行 powershell 脚本来增加文件中的版本号 我现在正在尝试将该更新文件发布回 github 上的原始存储库 因此当开发人员提取更改时 他会获得最新的版本号 我尝试
  • 如何在“构建开始前删除工作区”部分中使用排除文件夹选项?

    我想从删除中排除 node modules 文件夹 但它会删除所有工作区 我已经尝试了很多带有 在目录上应用模式 选项和不使用它的模式 其中一些 node modules node modules 我也发现了一个问题https issues
  • Jenkins email-ext 会针对未按预期工作的罪魁祸首触发电子邮件

    当构建失败时 我试图向罪魁祸首发送电子邮件 如果我手动启动构建 则会发送电子邮件 但如果我通过 SCM 轮询启动构建 则不会发送电子邮件 并且构建的控制台输出会显示以下消息 An attempt to send an e mail to e
  • Jenkins Cron 表达式未在正确的时间安排

    All 尝试配置 jenkins 作业在每天上午 10 点触发并在 cron 下使用H 10 但 jenkins 控制台不是在上午 10 点运行 而是在上午 10 点 09 分运行 请帮助我全年每天上午 10 点跑步 update Afte
  • Jenkins 管道中的导出命令

    如何在 Jenkins 管道中添加 导出 unix 命令 我里面有一个詹金斯 舞台 和 步骤 导出命令的语法是什么 我需要使用导出命令设置环境变量 PATH 您可以更新 PATH像这样 pipeline agent label docker
  • 詹金斯可以在构建操作之间添加睡眠时间吗?

    我正在 Jenkins 中启动 JBoss 服务器作为构建操作 下一个操作将运行一组测试 我需要在两个操作之间添加睡眠时间 有谁知道如何轻松做到这一点 可以使用sleep进入 Jenkins 管道 该步骤包含在管道 基本步骤 https p
  • Jenkins 安排代理节点可用性

    我们有许多机器希望用作 Jenkins 的代理节点 但仅限于特定的时间间隔 即不在工作时间 是否可以配置一个代理节点作为特定时间范围内构建的代理 例如 周一至周五晚上 10 点至凌晨 5 点 周六和周日全天 In the 从机配置面板 选择
  • 使用 Jenkins Git 插件中的 SSH 密钥在构建期间运行 Git 命令

    我们在 Jenkins 上的构建作业作为发布构建的一部分运行一些 git 命令 例如 git push 和 git pull 因此需要一种在构建期间从 shell 运行经过身份验证的 git 命令的方法 我们的詹金斯奴隶不持有任何凭证 因为
  • 如何从 docker 容器运行 webpack 构建?

    我正在制作的应用程序是用 ES6 编写的 其他好东西是由 Docker 容器内的 webpack 转译的 目前 一切工作从创建内部目录 安装依赖项到创建编译的捆绑文件 当运行容器时 它说 dist bundle js 不存在 除非我在主机目
  • 如何将参数从jenkins传递到selenium

    我正在使用詹金斯和硒 我需要将测试 url 从 jenkins 发送到 selenium 服务器 在常规选项卡下 詹金斯字符串参数 Name APP Default Value http localhost basecode 在构建后操作下
  • 如何阻止 Jenkins 中的 CI 构建意外发布到发布存储库?

    有时 开发人员会不小心签入 POM 中没有 SNAPSHOT 的版本 这将构建 Maven 项目并将工件发布到发布存储库 我怎样才能避免这种情况呢 我只想发布构建工件以发布存储库 而不是 CI 构建 我考虑了以下问题 但它们都不是一个简单的
  • Hudson 和电子邮件通知

    我可以覆盖每个作业的 Hudson 设置 系统管理员电子邮件地址 吗 阅读了一些源代码http sorcerer jenkins ci org http sorcerer jenkins ci org and hudson tasks Ma
  • 使用 Ruby 验证 Jenkins 插件表单

    我正在用 Ruby 开发一个 Jenkins 插件 您应该能够配置连接到服务器的每个节点 以便在该节点失去与主服务器的连接时将电子邮件发送到指定的地址 EmailNodeProperty添加一个字段来输入电子邮件地址 Save an ema
  • 使用 Jenkins 运行 ios-sim

    我正在尝试使用以下命令从命令行启动我的应用程序ios sim https github com downloads pegli ios sim ios sim xcode4 3 tar gz但这就是我得到的 Started by user
  • Docker:PermissionError:[Errno 13]权限被拒绝[重复]

    这个问题在这里已经有答案了 我在运行 docker compose 时得到了这个 Got permission denied while trying to connect to the Docker daemon socket at un
  • 在 jelly 脚本中使用 JavaScript

    我正在尝试在 Jenkins 中使用用 JavaScript 编写的脚本 我认为最简单的方法是在 jelly 脚本中调用它们 例如 我有文件 myCustom js alert Hello World function myFunction
  • Apache 反向代理的基本身份验证问题

    我想为在 Ubuntu 服务器 12 04 1 上运行的 Apache 反向代理站点添加基本身份验证 网络应用程序是Jenkins http jenkins ci org运行在 Java EE 容器上 我在中添加了以下配置httpd con

随机推荐

  • R基础(一)- R版本升级、现有版本查看

    R版本升级 系统 WINDOWS 方式 推荐打开RGui界面进行升级 而不要再RStudio中直接输入命令 包 installr 代码 安装包 如果已经有此包可跳过此步骤 install packages installr 加载包 升级 l
  • Unity与Android的Back键冲突解决

    Unity与Android的Back键冲突解决 上一篇的最后留下了两个问题 Unity视图下横屏闪退 Unity视图下Android无法响应back返回上一activity 对于第一个问题 应该是Unity横屏下视图的某些设置跟Androi
  • 0227:zotero文献管理/小绿鲸英文/CSDN做笔记

    搜索 下载 白嫖 翻译 文章 如何精准找到和方向相关的文献 谷歌学术 国内无法正常进入 两个镜像网站 https xueshu dailyheadlines cc https scholar lanfanshu cn 搜索技巧 关键词套双引
  • OS——文件管理系统磁盘的结构之搞清盘面和柱面

    如上图 每个柱面有三个盘面 即就是3个磁道 柱面可以抽象的理解成是一个套一个的立体的同心圆柱体 例 2019年408真题 磁盘有300个柱面 每个柱面有10个磁道 每个磁道有200个扇区 扇区大小为512B 则磁盘容量 分析 每个柱面有10
  • 【排错】error: error parsing recommended.yaml: error converting YAML to JSON: yaml: line 14:的解决方式

    在部署k8s的时候 编写k8s的dashboard文件 遇到以下错误 error error parsing recommended yaml error converting YAML to JSON yaml line 14 could
  • PLINQ并行查询效率的简单分析

    PLINQ并行查询效率的简单分析 假设执行一次查询需要花费的时间比较大 那我们可以采用PLINQ并行查询来进行提速 并行查询 就是利用多核计算机并行执行查询语句来进行提速 这很好理解 一个工人工作慢 那就多叫几个工人同时进行工作 这样工作的
  • php 实现微信消息时间,在微信小程序中如何实现时间功能

    这篇文章主要介绍了微信小程序使用picker实现时间和日期选择框功能 结合实例形式分析了微信小程序picker组件进行日期与时间选择的相关操作技巧 并附带源码供读者下载参考 需要的朋友可以参考下 本文实例讲述了微信小程序使用picker实现
  • 选择结构程序设计和循环控制(if语句,switch语句,条件运算符,for循环,while及do while语句,break,continue,goto语句)折半查找法及猜数字游戏带你巩固理解

    本章我们来迅速学习一下选择语句和循环语句 首先我们来了解何为语句 C语言中语句可以分为以下五类 1 表达式语句 2 函数调用语句 3 控制语句 4 复合语句 5 空语句 这篇文章我们主要讲的是控制语句 控制语句 控制语句主要用于控制程序的运
  • IDEA 三种注释生成方式

    三种注释方式 行注释 块注释 方法或类说明注释 一 快捷键 Ctrl 使用Ctrl 添加行注释 再次使用 去掉行注释 二 演示代码 if hallSites null hallSites size gt 0 行注释 最大行号 int max
  • 【Python】基于Python利用熵权法计算数据权重——一个简单的图形用户界面编程

    目录 1 简介 2 技术流程 3 数据 4 代码 4 1 代码 极差标准化 4 2 代码 熵权法赋权 5 实验操作与流程 6 关于数据获取 1 简介 师弟又催我给他公众号写文了 这次还点名要这个题目 所以我就先到自己的博客里写写练练手 下面
  • ​Java 输入一个字符串,统计其中字符 A 的数量并输出。

    题目描述 输入一个字符串 统计其中字符 AA 的数量并输出 输入 输入一个不带空格的字符串 字符串长度不超过 100 输出 输出字符串中字符 A 的数量 样例输入 AabdkeaoektA 样例输出 2 import java util S
  • sublime text 3上使用Git连接Github

    首先下载的sublime text 3我是在PHP中文网下载的 是汉化版 一进去就有git插件 之前很久下过的好像不能使用插件 所以我就下了最新的汉化版 进去就有git插件 再者就是git要自己下载一下安装 配置好path环境变量 也就是c
  • 点击按钮复制链接

    做点击按钮复制链接 网上找的方法是用原生js document execCommand Copy window clipboardData setData Text url value 发现微信上存在不兼容 在安卓和PC段都可以 但是在苹果
  • 2023问题汇总

    问题汇总 Linux相关 1 vim 修改挂载文件时 报错 read only filesystem 2 root 用户密码无法更改 3 linux 用户被锁定 4 linux 查看登录日志 其他小问题 1 linux 的dns 修改配置
  • 企微报错60020

    errcode 60020 errmsg not allow to access from your ip hint 1655882753557010848204971 from ip more info at https open wor
  • wazuh安装手册

    一 wazhu部署架构 1 服务器上运行的Agent端会将采集到的各种信息通过加密信道传输到管理端 2 管理端负责分析从代理接收的数据 并在事件与告警规则匹配时触发警报 3 LogStash会将告警日志或者监控日志发送到Elasticsea
  • 第九章 细分着色器

    第九章 细分着色器 细分面片 细分着色器只能处理面片 patch 类型的图元 如果启用细分着色器 将其他类型图元传递给它会产生GL INVALID OPERATION错误 如果没有启用细分着色器 那么渲染面片数据也会得到GL INVALID
  • 【JFinal最省代码的框架】JFinal+Bootstrap实现后台管理系统主页

    原文 JFinal最省代码的框架 JFinal Bootstrap实现后台管理系统主页 源代码下载地址 http www zuidaima com share 1893049233067008 htm
  • 爱情和婚姻的区别

    有一天 柏拉图问老师苏格拉底什么是爱情 老师就让他先到到麦田里去 摘一棵全麦田里最大最金黄的麦穗来 期间只能摘一次 并且只可向前走 不能回头 柏拉图于是按照老师说的去做了 结果他两手空空的走出了田地 老师问他为什么摘不到 他说 因为只能摘一
  • 【DevOps视频笔记】6 - 7. Jenkins 介绍 和 安装

    一 Integrate 工具 二 Jenkins 介绍 1 Jenkins 最主要的工作 2 CI CD 可以理解为 2 1 CI 过程 2 2 CD 过程 三 Jenkins 安装 1 安装准备工作 2 安装 Jenkins Stage