devops 快速入门

前提必要条件

  • 准备充足的ide开发池,因为每一个流水线(外部应用)会创建一个ide来执行作业逻辑
  • 保证系统资源充足
  • 使用的租户管理员尽量用组织租户,因为流水线板块里部分功能依赖到了人员组织的能力,如:依赖库、api发布及回调类型的流水线......
  • 保证流水线依赖到的服务正常,如:控制台console-deploy、newcsl租户下entry、newcsl租户下scheduling、newcsl下wf、newcsl租户下message

流水线管理基本操作

创建流水线

进入流水线管理页点击新增 解释:

  • 流水线名称和流水线编码命名很重要,它决定ide的命名,由此会影响此应用的服务名等基础信息
  • 流水线模板即流水线线流程,在系统管理员控制台的流水线模板页出可以配置,目前系统有已支持5种流程 helm部署模板、api发布及回调模板、市场应用部署模板、内部应用部署模板、外部应用部署模板
  • 参数配置模板:如果选择了就会填充该《流水线编辑》的内容,内容源头在参数模板管理里进行新增

流水线的其他操作

  • 打开应用:类型是helm部署模板、外部应用部署模板的流水线都会拥有一个ide应用,该ide应用里承载了流水线作业逻辑
  • 转存到参数模板:将配置好的流水线内容转存到参数模板里,方便在创建相似流水线时引用
  • 停止/重置:流水线在执行中时,进行强行停止并恢复到最初的待发布状态
  • 强制删除:当系统出现不可抗异常时导致流水线混乱出现脏数据,我们在删除脏数据流水线时能够强制将其清理掉

租户控制台下不同类型流水线配置和开发

流水线编辑

外部应用部署

  • 代码拉取设置
    • 以下几个重要的项在《配置模板》命令脚本中的引用变量命名
      发布工程所在目录 releasePath
      目标目录 targetDir
      发布项目名称 projectName
      发布项目名称全大写 projectNameUpperCase
      
    • 基础镜像:在制品库管理——》镜像管理中可进行新增。基础镜像关联到环境语言、环境版本、ide构建环境等一系列基础环境信息。
  • 命令脚本:主要能力是为用户提供自定义的逻辑设置,基础脚本模板在管理员控制台《配置模板管理》
    • 构建脚本:对源码构建编译
    • 安装脚本:安装编译好的用户代码,安装系统依赖,安装某种开发语言的环境依赖。如果应用要多进程也是在此处配置
    • 初始化命令:主要负者启动前的初始化工作,如:调用门户进行初始化数据
    • 启动脚本:启动用户二进制包的命令在这里进行设置
    • Maven setting文件:管理者Maven中央仓库
    • Nginx配置文件:对web类型的流水线进行nginx更细节的配置
  • 应用配置
    • 网关设置:配置的是ide应用里模块下的 app.m
    • 服务注册设置:如果应用想要作为企业应用使用,并且希望注册到门户
  • 发布部署
    • standalone模式:独立部署模式应用导出的helm安装包是云原生的最小内核runtime,可以在任何云原生环境运行,无需依赖特定的基础环境
    • 是否是企业应用:如果选择了standalone模式场景下,需要选择是否是企业应用。企业应用会走门户entry注册逻辑,所以此刻必须依赖门户entry服务
    • 选择发布方式
      • 内部市场:主要以资源的方式发布到平台应用市场
      • 外部市场:以helm包的方式发布到配置的helm仓库(helmmuseum仓库),可在统一通用配置——》devops管理服务——》helm仓库下进行配置
      • 内部k8s集群:部署到平台内部的kube或pool
      • 外部k8s集群:部署到远程k8s上,远程k8s配置可在统一通用配置——》devops管理服务——》远程k8s下进行配置

        helm部署

        平台除了支持标准应用外,还支持云原生helm应用,用户通过chart yaml配置和制作镜像即可完成一个云原生的helm应用
  • helm包设置
    • 设置方式:有两种方式,上传helm包、基于helm模板修改
    • helm模板配置:主要配置 values.yaml,用户还可以进行更大范围的定制开发,在配置里的高级设置里点击打开vsCode即可进行全方位的定制

内部应用部署

租户管理员创建的企业应用ide进行常规的发布操作属于内部应用部署行为,通过流水线的目的是自动化

  • 内部应用选择设置:选择好已存在的应用,然后设置git分支

市场应用部署

所有发布到应用市场下应用都可以使用流水线自动化部署

  • 发布部署阶段不允许发布到内部市场

api发布及回调

发布api到api市场,并进行订阅和回调

发布策略

即是任务调度的调度策略,每条流水线流程实例关联一个任务调度job,更多任务调度细节请参考开发手册——》业务中间件——》任务调度

  • 执行一次
  • 周期执行
  • cron执行

通知设置

主要是调用消息中心发消息,更多消息中心的配置细节请参考开发手册——》业务中间件——》消息中心

环境变量设定

即应用的环境变量引入,在ide和发布后端prod阶段都能全程生效 解释:这里环境变量是应用到ide模块下的def.xml中的,如下:

<service> 
  <properties>  
    <property name="hello" env="HELLO_WORLD" value="你好">
      <label label="参数描述"/>
    </property>
  </properties>
</service>

依赖库管理

使用依赖库前提是租户管理员必须在某组织下

  • 当前组织下如果创建了依赖库,那么该依赖库在流水线编辑页中Maven setting文件里会关联上

镜像管理

主要为外部应用流水线编辑里的基础镜像设置提供关联选择,和helm部署类型的流水线,在基于模板配置的场景下设置的helm镜像信息提供源数据

管理员system控制台下基础源的配置和开发

配置模板管理

主要目的是为流水线编辑里为脚本文件、Maven setting文件、nginx conf文件等提供模板内容。 模板里可引用的变量如下:

发布工程所在目录 releasePath
目标目录 targetDir
发布项目名称 projectName
发布项目名称全大写 projectNameUpperCase

流水线模板

即流水线流程模板,走wf流程服务逻辑

  • 流水线模板创建可以通过组装任务模板来实现

任务模板

为流程模板提供最基础的流程服务环节,该服务环节里主要定义的是任务调度的job作业。

  • 参数格式如何与定义内容中变量配合使用的
    参数格式里定义了一个表单finalTask字段,如果要引入到定义内容中去,那么  这样引入,
    这样就能做到finalTask表单的值动态替换内容里面的  了。
    

任务调度管理

流水线流程实例与任务调度job一一对应,是流水线作业的主要做工引擎。 任务调度管理的更多细节请到开发手册——》业务中间件——》任务调度

组织依赖库管理

人员用户组织下创建依赖库,其中有三种类型maven、pypi、npm,有了这些依赖库用户可以在构建脚本、安装脚本......等文件里引入使用

pass平台基础镜像管理

所有需要管理起来的平台基础镜像都在这,此处管理后在租户端镜像管理进行上传时会进行同名检查拦截

results matching ""

    No results matching ""