CI/CD——构建企业级Docker+Jenkins+Git+Harbor流水线自动化持续集成持续发布平台

本文详细介绍了如何构建企业级的CI/CD平台,通过Docker部署Jenkins、Git和Harbor,实现自动化持续集成和持续交付。阐述了CI/CD的优势,包括代码更改管理、故障隔离和效率提升,并提供了自动化部署流程图。文中还对比了Git、GitHub和GitLab的区别,并分享了从遇到问题到解决问题的实战经验,最终成功搭建了Docker+Jenkins+Git+Harbor的流水线。

CI/CD是什么?

  • CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法
  • CI/CD 的核心概念是持续集成持续交付持续部署
  • 作为一个面向开发和运营团队的解决方案,CI/CD 主要针对在集成新代码时所引发的问题(亦称:“集成地狱”)

持续集成(CI)/持续交付(CD)的优势

  • 持续集成/持续交付是现代软件开发周期的基础
  • 在传统的软件开发方法中,每个功能更新或修复错误都会每隔一段时间进行发布,这显著增加了在部署时耦合更改的机会
  • 持续集成/持续交付可以解决所有这些问题,并使整个过程更易于管理高效
  • 在现代软件开发实践中,持续集成(CI)/持续交付(CD)是构建测试应用程序并将其部署到生产中的基础
  • 持续交付(CD)有助于降低风险,并通过自动化来自不同项目开发人员的多个代码更改来实现生产一致性
  • 另一方面,持续交付使开发人员能够无缝地将集成代码交付到生产中,从而提供快速有效的自动化流程,以向客户轻松发布新功能和更新
  • 持续集成/持续交付管道的优势
    • 管理较小的代码更改
    • 故障隔离可在短期内防止错误
    • 缩短平均解决时间(MTTR)
    • 提高测试可靠性
    • 加快释放速度
    • 减少积压
    • 推动客户实现
    • 加强团队的透明沟通和责任感
    • 降低成本
    • 易于维护和更新
  • 结论
    • 部署CI / CD流程后,您可能会在开发人员工作流程中实现更平滑的过渡
    • 关键是,测试质量首先需要在工作流程中引起很多注意,这使您成为其他人可以效仿的灯塔
    • 无论您的产品交付有多快和连续,没有质量意识都没有关系
    • 当CI / CD管道的更多步骤可以自动化时,质量也意味着更快的质量发布

自动化部署流程图

在这里插入图片描述


  • 首先,开发人员每天进行代码提交,提交到Git仓库
  • 然后,Jenkins作为持续集成工具,使用Git工具到Git仓库拉取代码到集成服务器,再配合JDK, Maven等软件完成代码编译,代码测试与审查,测试,打包等工作,在这个过程中每一步出错,都重新再执行一次整个流程
  • 最后,Jenkins把生成的jar或war包分发到测试服务器或者生产服务器,测试人员或用户就可以访问 应用

Git Github Gitlab的区别

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

前言:一些自己想说的话

  • 关于实验的开头,本意想使用Docker部署Jenkins,但是在调试MavenJDK的时候一直报错
  • 从7月8号到7月9号的凌晨4点,一直报错,各种解决方案已经被我翻烂了…各种问题接踵而至…
  • 于是带着懵逼询问了专业人士,朋友让我使用传统的方式,好家伙,话不多说上操作
    在这里插入图片描述
  • Docker部署的流程就放这把,可以直接跳过,只是作为一个笔记!
    在这里插入图片描述
#下载Jenkins镜像
[root@jenkins ~]# docker pull jenkins/jenkins:lts-jdk11

#创建Jenkins挂载路径
[root@jenkins ~]# mkdir -p /docker/jenkins

#对此目录开放权限,否则容器启动时会报错
[root@jenkins ~]# chmod 777 /docker/jenkins/

#启动容器
[root@jenkins ~]# docker run -itd -p 8080:8080 -p 50000:50000 --restart always -v /docker/jenkins:/var/jenkins_home --name jenkins jenkins/jenkins:lts-jdk11

在这里插入图片描述


#通过文件形式查看解锁密码
[root@jenkins ~]# cat /docker/jenkins/secrets/initialAdminPassword 
8bf67325c495443a869b249d1f4bb853

#通过日志形式查看解锁密码
[root@jenkins ~]# docker logs -f jenkins
8bf67325c495443a869b249d1f4bb853

部署Docker+Jenkins+Git+Harbor流水线自动化CI/CD

CentOS Linux release 7.5.1804 (Core)
  • 主机规划
主机 IP地址
Git-server 192.168.100.20
Harbor 192.168.100.30
Jenkins 192.168.100.40

安装部署Git

#安装Git
[root@git-server ~]# yum -y install git
[root@git-server ~]# git --version
git version 1.8.3.1

#创建用户并配置密码
[root@git-server ~]# useradd git
[root@git-server ~]# passwd git

#进入Git用户
[root@git-server ~]# su - git

#创建git仓库目录
[git@git-server ~]$ mkdir /home/git/demo.git
[git@git-server ~]$ cd /home/git/demo.git/

#初始化git仓库
[git@git-server demo.git]$ git --bare init

#查看初始化后的仓库
[git@git-server demo.git]$ ls
branches  config  description  HEAD  hooks  info  objects  refs

安装Harbor

#下载harbor安装包
[root@harbor ~
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

611#

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值