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

一、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. 安装准备工作

  • 官网 Jenkins
  • 支持的插件 Jenkins Plugins
  • 安装jenkins Jenkins download and deployment

 2. 安装 Jenkins

Stage 1:拉取 jenkins 镜像

docker pull jenkins/jenkins

Stage 2:编写docker-compose.yml

version: "3.1"
services:jenkins:image: jenkins/jenkinscontainer_name: jenkinsports:- 8080:8080- 50000:50000volumes:- ./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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/119478.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小白开始学习C++

第一节&#xff1a;控制台输出hello word&#xff01; #include<iostream> //引入库文件 int main() { //控制台输出 hello word! 之后回车 std::cout << "hello word!\n"; #include<iostream> //引入库文件int main() {//控制台输出…

docker 笔记6:高级篇 DockerFile解析

目录 1.是什么&#xff1f; 2.构建三步骤 3.DockerFile构建过程解析 3.1 Dockerfile内容基础知识 3.2Docker执行Dockerfile的大致流程 总结 4.DockerFile常用保留字指令 5.案例&#xff1a;自定义镜像 5.1 要求&#xff1a; Centos7镜像具备vimifconfigjdk8 5.2编写 5…

Android 1.2.1 使用Eclipse + ADT + SDK开发Android APP

1.2.1 使用Eclipse ADT SDK开发Android APP 1.前言 这里我们有两条路可以选&#xff0c;直接使用封装好的用于开发Android的ADT Bundle&#xff0c;或者自己进行配置 因为谷歌已经放弃了ADT的更新&#xff0c;官网上也取消的下载链接&#xff0c;这里提供谷歌放弃更新前最新…

第12节——生命周期

一、概念 生命周期指 React 组件从装载至卸载的全过程&#xff0c;这个过程内置多个函数供开发者在组件的不同阶段执行需要的逻辑。 状态组件主要通过 3 个生命周期阶段来管理&#xff0c;分别是 挂载阶段&#xff08;MOUNTING&#xff09;&#xff0c;更新阶段&#xff08;U…

TIA博途从V15.1版本升级到V16后,下载配方时出错,动作异常终止

TIA博途从V15.1版本升级到V16后,下载配方时出错,动作异常终止 1. 读取配方的时候没有问题,完全正常,没有任何错误提示。 2. 但是在下载的时候,就提示了“出错。动作异常终止” 根据以往的经验分析,有可能是配方变量里面没有相对应的地址时候下载会出错,但是配方画面相对…

Windows NUMA编程实践 – 处理器组、组亲和性、处理器亲和性及版本变化

Windows在设计之初没有考虑过对大数量的多CPU和NUMA架构的设备的支持&#xff0c;大部分关于CPU的设计按照64个为上限来设计。核心数越来越多的多核处理器的进入市场使得微软不得不做较大的改动来进行支持&#xff0c;因此Windows 的进程、线程和NUMA API在各个版本中行为不一样…

基于Java+SpringBoot+Vue前后端分离大学生智能消费记账系统设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

国产10米分辨率的卫星介绍、下载和处理教程

10米分辨率的资源卫星介绍、下载和处理教程 简介 说起免费的10米分辨率卫星影像,大家首先想到的是sentinel卫星。但其实还有我国的中巴地球资源卫星04星(CBERS04)。 中巴地球资源卫星(China Brazil Earth Resources Satellite, CBERS)是中国和巴西共同投资、联合研制的地球…

PCIe DL_Feature详解

DL_Feature的引入 Data Link Control and Management State Machine在PCIe Gen4引入了DL_Feature这个状态&#xff0c;该状态主要用来协商PCIe link 两端是否支持新的DL Feature&#xff0c;目前为止DL Feature只引入了Scaled Flow Control 来提高Gen4及以上的效率。   DL_Fe…

qt信号与槽

输入账户密码成功则跳转界面 widget.cpp #include "widget.h" //自己的头文件Widget::Widget(QWidget *parent) //构造函数的定义: QWidget(parent) …

自建音乐服务器Navidrome之一

这里写自定义目录标题 1.1 官方网站 2. Navidrome 简介2.1 简介2.2 特性 3. 准备工作4. 视频教程5. 界面演示5.1 初始化页5.2 专辑页 前言 之前给大家介绍过 Koel 音频流服务&#xff0c;就是为了解决大家的这个问题&#xff1a;下载下来的音乐&#xff0c;只能在本机欣赏&…

纽扣电池/锂电池UN38.3安全检测报告

根据规章要求&#xff0c;航空公司和机场货物收运部门应对锂电池进行运输文件审查&#xff0c;重要的是每种型号的锂电池UN38.3安全检测报告。该报告可由的三方检测机构。如不能提供此项检测报告&#xff0c;将禁止锂电池进行航空运输. UN38.3包含产品&#xff1a;1、 锂电池2…

Typora导出的PDF目录标题自动加编号

Typora导出的PDF目录标题自动加编号 在Typora主题文件夹增加如下文件后&#xff0c;标题便自动加上了编号&#xff1a; https://gitcode.net/as604049322/blog_data/-/blob/master/base.user.css 例如&#xff1a; 但是导出的PDF中&#xff0c;目录却没有编号&#xff1a; 这…

qt day 5

1>实现闹钟功能 ---------------------------------------------------------------------- .pro ---------------------------------------------------------------------- QT core gui texttospeechgreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# T…

CEF内核和高级爬虫知识

(转)关于MFC中如何使用CEF内核&#xff08;CEF初解析&#xff09; Python GUI: cefpython3的简单分析和应用 cefpython3&#xff1a;一款强大的Python库 开始大多数抓取尝试可以从几乎一行代码开始&#xff1a; fun main() PulsarContexts.createSession().scrapeOutPages(&q…

【项目源码】一套基于springboot+Uniapp框架开发的智慧医院3D人体导诊系统源码

智慧医院3D人体导诊系统源码 开发语言&#xff1a;java 开发工具&#xff1a;IDEA 前端框架&#xff1a;Uniapp 后端框架&#xff1a;springboot 数 据 库&#xff1a;mysql 移 动 端&#xff1a;微信小程序、H5 “智慧导诊”以人工智能手段为依托&#xff0c;为…

JVM介绍

一、介绍 1. JVM是什么 JVM是Java Virtual Machine的缩写&#xff0c;即咱们经常提到的Java虚拟机。虚拟机是一种抽象化的计算机&#xff0c;有着自己完善的硬件架构&#xff0c;如处理器、堆栈等&#xff0c;具体有什么咱们不做了解。目前我们只需要知道想要运行Java文件&…

基于Matlab实现生活中的图像信号分类(附上源码+数据集)

在我们的日常生活中&#xff0c;我们经常会遇到各种各样的图像信号&#xff0c;例如照片、视频、图标等等。对这些图像信号进行分类和识别对于我们来说是非常有用的。在本文中&#xff0c;我将介绍如何使用Matlab来实现生活中的图像信号分类。 文章目录 介绍源码数据集下载 介…

Pinely Round 2 (Div. 1 + Div. 2) G. Swaps(组合计数)

题目 给定一个长度为n(n<1e6)的序列&#xff0c;第i个数ai(1<ai<n)&#xff0c; 操作&#xff1a;你可以将当前i位置的数和a[i]位置的数交换 交换可以操作任意次&#xff0c;求所有本质不同的数组的数量&#xff0c;答案对1e97取模 思路来源 力扣群 潼神 心得 感…

科创板50ETF期权交易:详细规则、费用、保证金和开户攻略

科创板50ETF期权是指以科创板50ETF为标的资产的期权合约。科创板50ETF是由交易所推出的一种交易型开放式指数基金&#xff08;ETF&#xff09;&#xff0c;旨在跟踪科创板50指数的表现&#xff0c;下文介绍科创板50ETF期权交易&#xff1a;详细规则、费用、保证金和开户攻略&am…