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

windows环境下安装docker与jenkins进行单机简易安装

CI/CD流水线简易实战

技术工具:

Git
Jenkins
Docker

Git

Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何规模的项目。
GitHub是在线的基于Git的代码托管服务。GitHub于2008年由Ruby on Rails编写而成。GitHub同时提供付费账户和免费账户。这两种账户都可以创建公开的代码仓库,只有付费账户可以创建私有的代码仓库。Gitlab解决了这个问题,可以在其上面创建免费的私人repo.

windows环境下git的安装教程
https://blog.csdn.net/weixin_42242910/article/details/136297201

在windows环境下使用win + R键并输入“cmd”打开命令提示符界面
通过输入"git --version"即可查看当前环境下安装的git版本,如系统正确输出git版本也表示git安装成功
在这里插入图片描述
此外通过输入“git --help”可以查看git相关的命令,在之后的开发需求代码开发过程中,红框内的命令是比较经常使用到的命令,我们可以在IDEA编辑器中通过手动键入命令的方式实现代码的克隆、拉取、提交、推送等功能,也可以通过IDEA中集成的git插件通过鼠标点击的当时实现相同的功能。
在这里插入图片描述

发布流程设计

在这里插入图片描述
在这里插入图片描述

操作流程:
开发push代码到仓库中(GitLab、GitHub),触发jenkins自动pull代码,通过maven编译打包,执行shell脚本使docker构建镜像并push到私人服务器仓库,此操作完成后jenkins服务器再执行SSH命令登录到部署服务器,docker从仓库拉取镜像,启动容器。

任务一、安装docker

windows环境下

在这里插入图片描述
因为docker一般在linux环境下部署,所以在windows环境下部署需要进行打开系统的虚拟平台技术,勾选Hyper-V选项
在这里插入图片描述
如果没有Hyper-V选项则勾选下面的“虚拟机平台”选项,勾选完之后重启电脑使之生效
在这里插入图片描述
在这里插入图片描述
官网下载Docker Desktop工具
在这里插入图片描述
安装完成后启动即可

任务二、docker中安装jenkins

步骤如下
1:创建Jenkins容器
2、配置Jenkins
3、完成Jenkins安装

1、创建Jenkins容器

在完成docker的安装之后,需要创建一个Docker容器来运行Jenkins。win + R键入“cmd”打开命令行终端,并执行以下命令

docker run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts
# 命令行解释
-p 8080:8080 将本地的8080端口映射到容器的8080端口,用于访问Jenkins的Web界面
-p 50000:50000 将本地的50000端口映射到容器的50000端口,用于Jenkins的代理通信
-v jenkins_home:/var/jenkins_home 将本地的jenkins_home目录映射到容器的/var/jenkins_home目录,用于持久化jenkins的配置和数据
jenkins/jenkins:Its 是Jenkins官方提供的镜像版本 

这个命令将从Docker Hub下载Jenkins镜像,并在本地创建一个名为jenkink/jenkins:Its的容器

注意问题一:

默认情况下docker使用自己的仓库地址,可能导致Docker Hub镜像拉去失败的情况
在这里插入图片描述
"registry-mirrors": [ "https://docker.m.daocloud.io", "https://dockerhub.icu", "https://registry.aliyuncs.com", "https://docker.nju.edu.cn" ],

注意问题二:

在进行端口映射的时候可能会出现本地接口已经被占用的问题

解决方法一:更换本地的映射端口

解决方法二:杀死正在抢占端口的进程

使用“Ctrl + Alt + Delete”打开任务管理器或者右键点击屏幕最下方的任务栏打开任务管理器
在这里插入图片描述
打开资源监视器
在这里插入图片描述
匹配对应端口下的进程PID
“win + R” + "cmd"打开命令控制框
kill -9 PID这里的PID需要换成上面端口号对应的PID
通过此命令强制杀死进程即可释放对应的端口供后续进程使用

2、配置Jenkins

当容器创建成功后,可以通过浏览器访问http://localhost:8080来打开Jenkins的Web界面。你将会看到一个初始化界面,其中包含了一个自动生成的管理员密码。
需要找到容器的ID或名称,然后使用以下命令来查看生成的密码:

docker logs <container_id_or_name>
# 将<container_id_or_name>替换为你的容器的ID或名称。
# 在日志中,找到一个以Jenkins initial setup is required开头的行
# 后面跟着生成的管理员密码。

或者在此页面点击jenkins的容器
在这里插入图片描述

在这里插入图片描述
在此红框中输入“Jenkins initial setup is required”也可进行查找

复制生成的密码,然后回到Jenkins的Web界面,粘贴密码并点击Continue。
接下来,你将被要求选择要安装的插件。在这个教程中,我们将使用默认的推荐插件。点击Install suggested plugins继续。
在插件安装过程中,你需要创建一个管理员账号。填写所需的信息并点击Save and Finish。

3、完成Jenkins安装

当插件安装完成后,将被重定向到Jenkins的控制面板。点击Start using Jenkins开始使用。现在已经成功地在Windows上使用Docker安装并配置了Jenkins。后面就可以使用Jenkins来创建和管理你的软件项目,以及执行自动化的构建和部署任务。

4、开始使用

在这里插入图片描述
将第三步的密码复制到此处来
在这里插入图片描述
这里插件使用推荐的即可
在这里插入图片描述
下载插件需要一定的时间,下载完成之后就可以进入jenkins使用页面了

5、任务构建执行

详见文档:天易平台自动化部署文档.pdf

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • PHP智能问诊导诊平台-计算机毕业设计源码75056
  • 数据库分表
  • 【探索Linux】P.44(数据链路层 —— 以太网的帧格式 | MAC地址 | MTU | ARP协议)
  • 免费【2024】springboot 大学校园旧物捐赠网站的设计与实现
  • 跟《经济学人》学英文:2024年08月03日这期 GPT, Claude, Llama? How to tell which AI model is best
  • pfx如何配置到nginx中
  • RS485 CAN SPI IIC UART RS232这些通信协议传输距离、传输速度对比给出比较顺序-笔记(面试必备)
  • 二叉树的中序遍历 - 力扣(LeetCode)C语言
  • 【mongodb】mongodb副本集的搭建和使用
  • The operation was rejected by your operating system. code CERT_HAS_EXPIRED报错解决
  • WEB前端15-Router路由
  • 排序算法:快速排序,golang实现
  • 【C++】初识类和对象
  • java反序列化
  • C++——异常
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • Java 多线程编程之:notify 和 wait 用法
  • Laravel核心解读--Facades
  • node和express搭建代理服务器(源码)
  • orm2 中文文档 3.1 模型属性
  • SpiderData 2019年2月23日 DApp数据排行榜
  • springboot_database项目介绍
  • tensorflow学习笔记3——MNIST应用篇
  • V4L2视频输入框架概述
  • 给第三方使用接口的 URL 签名实现
  • 工作手记之html2canvas使用概述
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • python最赚钱的4个方向,你最心动的是哪个?
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • #pragma multi_compile #pragma shader_feature
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (floyd+补集) poj 3275
  • (k8s)Kubernetes本地存储接入
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)关于pipe()的详细解析
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .net core 连接数据库,通过数据库生成Modell
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET+WPF 桌面快速启动工具 GeekDesk
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • @Transactional 参数详解
  • @Value读取properties中文乱码解决方案
  • [ vulhub漏洞复现篇 ] struts2远程代码执行漏洞 S2-005 (CVE-2010-1870)
  • [12] 使用 CUDA 进行图像处理