一、jenkins是什么?

  1. Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于HudsonHudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。JenkinsJava语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVNGIT,构建工具有MavenAntGradle

二、CI/CD是什么?

  1. CI(Continuous integration,中文意思是持续集成)是一种软件开发时间。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。借用网络图片对CI加以理解。

6464255-1b6e3bfdbece1492.webp

  1. CD(Continuous Delivery 中文意思持续交付)是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的Staging环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境。下图反应的是CI/CD 的大概工作模式。

6464255-ba088ec7257062c0.webp

三、Jenkins在我们的教程里怎么起作用的?

  1. 当今的这个社会开发人员和运维人员最痛苦的事情就是为啥我代码写好了, 本地不报错, 为啥到了生成环境上就出问题, 为了解决这个问题, 我们大部分采用容器话部署, 在本地构建好镜像后直接上传到Docker私服, 可以快速发版, 而极大的避免了环境不一致的导致的代码出错的问题。

在我们的教程中, 前期会很简洁的去使用jenkins 去完整的构建一个单体服务, 后期也会做关于微服务这块, 先说说具体流程:

  1. 拉取 Gitee 上的项目代码
  2. maven 打包成jar
  3. 构建Docker镜像
  4. 运行镜像, 给外部访问

img2.jpg

有几个关键单来了, 如何配置Gitee, 如何构建镜像, 如何打破Docker容器和宿主机之间的隔膜, 做到容器部署宿主机外部Docker应用

来, 跟我去下一章了解一下更多知识

先说下我的配置: 阿里云服务器, 一核2G, 学生机配置(穷啊~) , 三年230(阿里此处打钱)