1. 什么是CICD
推荐阅读:CICD原理及流程
CICD面试题
在要介绍jenkins之前,我们需要了解CICD是什么?
Continuous Integration (CI) 持续集成
Continuous Delivery (CD) 持续交付
Continuous Deployment (CD) 持续部署
1.1 持续集成
持续集成的工作原理:是将小的代码块推送到Git仓库中托管的应用程序代码库中,并且每次推送时,都要运行一系列脚本来构建、测试和验证代码更改,然后再将其合并到主分支中(jenkins拉起的构建、部署,测试)。
假设一个应用程序,其代码存储在GitLab的Git仓库中。开发人员每天都要多次推送代码更改。对于每次向仓库的推送,你都可以创建一组脚本来自动构建和测试你的应用程序,从而减少了向应用程序引入错误的机会。这种做法称为持续集成,对于提交给应用程序(甚至是开发分支)的每项更改,它都会自动连续进行构建和测试,以确保所引入的更改通过你为应用程序建立的所有测试,准则和代码合规性标准。
1.2 持续交付
持续交付是超越持续集成的更进一步的操作。应用程序不仅会在推送到代码库的每次代码更改时进行构建和测试,而且,尽管部署是手动触发的,但作为一个附加步骤,它也可以连续部署。此方法可确保自动检查代码,但需要人工干预才能从策略上手动触发以必输此次变更。
1.3 持续部署
与持续交付类似,但不同之处在于,你无需将其手动部署,而是将其设置为自动部署。完全不需要人工干预即可部署你的应用程序
1.4 gitlab CI/CD && Jenkins CICD 如何工作
gitlab 也能够实现CICD,但是此处不做太多介绍。我们主要了解Jenkins 怎么实现CICD的
1.4.1 GitLab CI/CD 如何工作
为了使用GitLab CI/CD,你需要一个托管在GitLab上的应用程序代码库,并且在根目录中的.gitlab-ci.yml文件中指定构建、测试和部署的脚本。
在这个文件中,你可以定义要运行的脚本,定义包含的依赖项,选择要按顺序运行的命令和要并行运行的命令,定义要在何处部署应用程序,以及指定是否 要自动运行脚本或手动触发脚本。
它涉及到在每次小的迭代中就不断地构建、测试和部署代码更改,从而减少了基于已经存在bug或失败的先前版本开发新代码的机会。
1.4.2 Jenkins CICD如何工作
大概的流程是:1. 研发推送代码到gitlab 2. Jenkins拉取代码 3. 编译代码 4. 构建镜像 5. 推送镜像到镜像仓库 6.开发,测试,生产拉去镜像
2. Jenkins 简介
3. Jenkins pipline 语法
推荐阅读:jenkins pipline基础语法与示例