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---持续集成

  • 相关阅读:
    笔记:JDBC 数据库
    笔记:Eclipse 安装 m2eclipse 插件
    Maven 生成项目站点
    Maven 项目报告插件
    【学习总结】《大话数据结构》- 第8章-查找
    【问题解决方案】Markdown正文中慎用星号否则容易变斜体
    【学习总结】《大话数据结构》- 第7章-图
    【学习总结】《大话数据结构》- 第6章-树
    【刷题】求出栈序列个数之卡特兰数公式
    【学习总结】《大话数据结构》- 第5章-串
  • 原文地址:https://www.cnblogs.com/Henry-ZHAO/p/14663131.html
Copyright © 2011-2022 走看看