zoukankan      html  css  js  c++  java
  • 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---持续集成

  • 相关阅读:
    云平台架构架构调整路线图
    python3生成测试数据,并写入ssdb
    关于因各种原因,造成LINUX主机不能通过域名访问自己的解决办法
    学习OpenResty编程
    在WINDOWS2008 Server 中创建NFS服务器,使用LINUX的MOUNT命令去加载网络盘
    云平台资源挂盘办法V1.2
    VMware安装Centos7超详细过程(图文)
    VMware配置网络的3种方式:NAT、Host-Only、Bridged
    vmware12安装centos7系统详解
    AMQP && MQTT comparision
  • 原文地址:https://www.cnblogs.com/Henry-ZHAO/p/14663131.html
Copyright © 2011-2022 走看看