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

Docker + Jenkins + gitee 实现CICD环境搭建

目录

前言

 关于Jenkins

安装Jenkins

 docker中运行Jenkins注意事项

通过容器中的Jenkins,把服务打包到docker进行部署

启动Jenkins

 创建第一个任务


前言

        CI/CD(持续集成和持续交付/持续部署),它可以实现自动化的构建、测试和部署流程,开发人员可以将更多精力集中在创新和功能开发上,而不是维护和集成问题;本文将使用docker中的Jenkins快速搭建出基本环境;

在这里插入图片描述

 关于Jenkins

        Jenkins是一个开源的自动化服务器,主要用于持续集成(CI)和持续交付(CD),本文我们将采用Jenkins来进行配置部署;

安装Jenkins

使用docker 安装直接拉取镜像进行安装;

需要先安装好docker;docker没有安装可以看我的这篇文章:【docker入门】docker的安装

然后执行以下命令:

docker run -d -p 8080:8080 jenkins/jenkins

 即可自动拉取镜像,并运行;

 docker中运行Jenkins注意事项

        采用docker 运行 Jenkins,直接上述明确启动会有一个问题,就是一旦删除容器,再次启动前边的配置信息就都没了,为了保留他配置信息,所以需要把Jenkins的存储卷挂载到宿主机

 -v jenkins_home:/var/jenkins_home

 这样每次删除容器后,重新创建容器,并挂载宿主机中的存储卷,就可以保留前边的配置信息;

通过容器中的Jenkins,把服务打包到docker进行部署

    容器里控制容器方式有多种,需要安装插件操作比较复杂,这里推荐一种比较简单的方式:

首先想要执行 docker 的命令,并且还可以拉取镜像就需要额外挂载两个目录:

-v /var/run/docker.sock:/var/run/docker.sock
-v /usr/bin/docker:/usr/bin/docker

这样就使得容器能够与宿主机上的 Docker 守护进程进行通信;

也就是说让容器之间控制宿主机上的docker;

 一下是完整的命令:

docker run --name jenkins -d --privileged -p 8081:8080 -p 50000:50000\
-v jenkins_home:/var/jenkins_home\
-v /var/run/docker.sock:/var/run/docker.sock\
-v /usr/bin/docker:/usr/bin/docker\
-u root 镜像id

 -p 8081:8080 和 -p 50000:50000: 映射端口,8081 映射到容器的 8080 端口(Jenkins Web 界面),50000 用于 Jenkins 的代理连接;

启动Jenkins

        前边的基础环境搭好了,现在就可以之间在浏览器访问Jenkins;

首次访问会出现以下页面:

查看密钥可以使用:

查看Jenkins容器的日志

docker logs Jenkins

 把密钥输入到管理员密码框;然后点击继续;

然后看到一下页面:

 然后等待插件安装:

 博主在使用war包之间运行时出现了插件全部安装失败的情况,所以采用了docker部署的方式,docker中的一般都已经配置好,不需要修改额外的配置;

安装完成之后创建用户:

输入信息然后点击保存并完成 ;

 根据引导进入Jenkins首页:

 创建第一个任务

 

 根据需求创建一个任务,这里演示就创建一个free风格的任务;然后点击确认:

 然后进入以下页面:

 

 gitee的仓库的url在gitee上进行查看:

 输入之后添加凭证:

仓库为私有就添加,公开仓库就可以不添加

 然后就会进入以下页面:

选择用户名密码:

 然后输入用户名密码即可,id和描述可自行添加;

选择拉取的分支:

 然后就是构建触发器,可以根据情况进行设置,使用gitee的webhook出现的问题较多,后续会出一篇文章进行介绍演示;

设置构建步骤:

想把服务打包成镜像就需要在这里选择shell;

 可以在命令行框中输入一个docker 命令,查看是否可以使用docker来进行测试:

 ​​​​​​

 在框中输入要执行的shell命令即可;设置完成之后即可保存;

点击立即构建即可测试gitee与是否

 查看是否成功:

点击构建记录,两个框中的任何一个都可以,点击某一条构建记录;

 然后进入这个界面:

 点击控制台输出,即可查看执行情况;

 docker命令执行成功,也就是说Jenkins可以执行docker命令;


以上便是本文的全部内容,希望对你有所帮助,最后感谢阅读!

http://www.lryc.cn/news/478775.html

相关文章:

  • rabbitMq怎么保证消息不丢失?消费者没有接收到消息怎么处理
  • 商务数据分析在提升客户体验方面的作用体现在哪些环节
  • cooladmin使用整理
  • CentOS 7 更换软件仓库
  • 现代Web开发:React Hooks深入解析
  • HarmonyOS使用arkTS拉起指定第三方应用程序
  • flex安装学习笔记
  • 09-结构化搜索、搜索的相关性算分
  • 手机屏幕上进行OCR识别方案
  • 遗传算法与深度学习实战(22)——使用Numpy构建神经网络
  • react->Antd->Table调整checkbox默认样式
  • 一种ESB的设计
  • 上位机常用通信方式
  • Vue3中使用LogicFlow实现简单流程图
  • 《重学Java设计模式》之 工厂方法模式
  • 【大数据学习 | kafka】kafka的数据存储结构
  • 知识竞赛答题系统,线上答题小程序链接怎么做?
  • 基于SSM的社区物业管理系统+LW参考示例
  • android——jetpack startup初始化框架
  • 英伟达HOVER——用于人形机器人的多功能全身控制器:整合不同的控制模式且实现彼此之间的无缝切换
  • GEE代码学习 day17
  • 论文阅读笔记-Covariate Shift: A Review and Analysis on Classifiers
  • 基于SSM+VUE守护萌宠宠物网站JAVA|VUE|Springboot计算机毕业设计源代码+数据库+LW文档+开题报告+答辩稿+部署教+代码讲解
  • 【在Linux世界中追寻伟大的One Piece】Socket编程TCP
  • 进入半导体行业需要具备哪些能力?
  • Nature重磅:AI化学家再升级!大幅提升实验效率,推动化学合成进入“智能化”新阶段
  • 源代码泄漏怎么办?SDC沙盒成为破局利器
  • 【论文复现】基于图卷积网络的轻量化推荐模型
  • 使用ssh-key免密登录服务器或免密连接git代码仓库网站
  • 自由学习记录(19)