(CI/CD)介绍及实用说明

(CI/CD)介绍

CI/CD => 工程自动化

CI 持续集成(Continuous Integration)

CD 持续部署(Continuous Deployment)

CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD 的核心概念是持续集成、持续交付和持续部署。作为一个面向开发和运营团队的解决方案,CI/CD 主要针对在集成新代码时所引发的问题。具体而言,CI/CD 可让持续自动化和持续监控贯穿于应用的整个生命周期(从集成和测试阶段,到交付和部署)。这些关联的事务通常被统称为“CI/CD 管道”,由开发和运维团队以敏捷方式协同支持。

Dockerfile简介

  • Dockerfile 一般分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令,’#’ 为 Dockerfile 中的注释。
  1. 基础镜像信息: FROM 指定基础镜像
  2. 维护者信息: MAINTAINER Jasper Xu sorex@163.com
  3. 镜像操作指令: RUN/ADD/COPY等
  4. 容器启动时执行指令: CMD
  • 针对实际应用中所运用到命令:
  1. COPY: 复制拷贝文件
  2. ADD: 复制新文件、目录或远程文件 URL ,并将它们添加到 中
  3. ENV: 设置环境变量 (eg: ENV = …)
  4. CMD: 运行程序,在 docker run 时运行,但是和 run 命令不同,RUN 是在 docker build 时运行
  • 支持3中种格式:
  1. CMD [“executable”,“param1”,“param2”] 使用 exec 执行;
  2. 推荐方式;CMD command param1 param2 在 /bin/bash 中执行,提供给需要交互的应用;
  3. CMD [“param1”,“param2”] 提供给 ENTRYPOINT 的默认参数
  • 注意:指定启动容器时执行的命令,每个 Dockerfile 只能有一条 CMD 命令。如果指定了多条命令,只有最后一条会被执行

CI/CD配置步骤说明

前期准备工作

1、新建一个分支(develop/test)

2、将.ci 和.gitlab-ci.yml文件复制到工程的根目录下

3、将目录.ci/charts/… 下的文件名字改成你的工程名字

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sXZ0L20X-1651921479625)(./img/01.png)]

  • 工程新建完成后push代码到develop ,进行编译和部署,只有第一次通过编译和部署以后才可以配置CI/CD
  • 如果第一次编译不通过的情况,可以根据提示进行代码的修改

在这里插入图片描述

配置部署

1、关联应用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vx0lfiKj-1651921479627)(./img/03.png)]

2、关联应用后的显示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xz67LZMV-1651921479628)(./img/04.png)]

3、创建部署配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QCFvonYJ-1651921479629)(./img/05.png)]

  • 创建部署配置需要注意的地方
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0xft0lwK-1651921479630)(./img/06.png)]
4、创建流水线

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b1JyDNDM-1651921479631)(./img/07.png)]

  • 注意:
    创建流水线后更新分支代码重新构建,不然看不到实例的运行详情,无法进行后续修改
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kilri0VY-1651921479631)(./img/08.png)]
5、点击实例修改value

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xsfv3D7e-1651921479632)(./img/09.png)]

  • 修改实例value时要注意的一些地方
  1. 开放devops的网络部署功能
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B54tVMei-1651921479632)(./img/10.png)]
  2. 配置前端的 baseUrl ,静态资源地址等url,需要在dockfile文件中写对应的读取文件
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kqj8JPwF-1651921479633)(./img/11.png)]
  3. 配置对外开发服务的域名,转发打开
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T2ivPx4F-1651921479633)(./img/12.png)]
  4. 配置部署完成重新编译项目,编译成功后访问服务
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NaJ4BEgn-1651921479633)(./img/13.png)]

Dockerfile文件配置说明

Dockerfile 一般分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令,’#’ 为 Dockerfile 中的注释。

  1. 基础镜像信息: FROM 指定基础镜像
  2. 维护者信息: MAINTAINER Jasper Xu sorex@163.com
  3. 镜像操作指令: RUN/ADD/COPY等
  4. 容器启动时执行指令: CMD

针对实际应用中所运用到命令:

  1. COPY: 复制拷贝文件
  2. ADD: 复制新文件、目录或远程文件 URL ,并将它们添加到 中
  3. ENV: 设置环境变量 (eg: ENV = …)
  4. CMD: 运行程序,在 docker run 时运行,但是和 run 命令不同,RUN 是在 docker build 时运行

支持3中种格式:

CMD [“executable”,“param1”,“param2”] 使用 exec 执行;

推荐方式;CMD command param1 param2 在 /bin/bash 中执行,提供给需要交互的应用;

CMD [“param1”,“param2”] 提供给 ENTRYPOINT 的默认参数

注意:指定启动容器时执行的命令,每个 Dockerfile 只能有一条 CMD 命令。如果指定了多条命令,只有最后一条会被执行

简单总结

  1. 建分支
  2. 复制文件到工程
  3. 修改charts/…为工程名
  4. 关联应用
  5. 创建部署配置
  6. 创建流水线
  • 如有疑问欢迎留言一起讨论,一起学习~
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐