CI|CD---持续集成持续部署

jenkins------(CI|CD)的调度工具

软件的结构,构建方式,架构设计,部署方式等等才是你做实现自动化集成和测试的核心载体。

Jenkins只是Job(以上载体)的管理调度平台, 具体的构建,测试,发布工作还是要自己来做的。

如果你是想在job中加入自动话部署流程的话,可以先写好自动化部署脚本然后在jenkins构建任务的Execute Shell中调用相应的Script.

当然jenkins也有上述工具的一些Plugin

构建/编译出错:一般CI会即时发邮件给提交者和管理者,著名最近commit是谁,版本名等,从而可以及时修正错误。

整套CI|CD工具

github/gitlab + github-actions/gitlab-CI/jenkins + maven,ant/cmake/pyinstaller + 调用执行脚本(如测试脚本)+ jira

依次为:仓库 + CI工具 + 打包工具 + 测试脚本 + 项目/缺陷管理工具

maven/ant:用于java源码打包成跨平台的.jar虚拟机可解释文件
cmake:用于C源码打包成win/linux下的库及可执行文件
pyinstaller:用于python源码打包成win/linux下的可执行文件

CI

包括拉取版本代码,打包(构建)过程

注意:CI工具如jenkins去仓库拿源码,需要先配置访问权限,和jira访问仓库一样。

集成-部署-上线-发布的区别

集成:不同代码部分放到一起组成整体
部署:为了测试(因此需要部署到类生产环境)。部署和测试都是为了验证集成结果正不正确。正确则集成成功。
上线:部署到生产环境
发布:给新版本打上版本号,提供给受众获取地址。

从开发岗位要求以及语言是否跨平台分析

  1. 真正要做CI|CD全流程自动化:还是java项目,因为.jar是跨平台的,可以做持续部署。
  2. 而C++项目可以实现CI,却没有CD这一说。因为没有像maven一样自动化集成分发的C++包管理工具,即便分发也不能直接使用还需要头文件,即便写了脚本如ssh上传至远端实现分发也无法跨平台等等。
    因此可以了解下java的CI|CD全貌。

java项目:可以CI|CD---持续集成持续部署

c++项目:一般只说CI---持续集成

posted @ 2021-04-15 16:35  Parallax  阅读(122)  评论(0编辑  收藏  举报