Devops-蓝鲸篇-03-蓝盾流水线简单介绍

BKCI流水线快速了解

BK-CI 可以帮你快速实现一条持续交付流水线来编译、测试、部署你的应用,下面将通过教程和文档指南告诉你,怎么在 BK-CI 里配置和管理持续集成、持续交付(CI/CD)流水线。

下面为流水线的完整逻辑图:

Task(插件)

即一个单独的任务,如拉取 GitHub 仓库代码。

Job(作业)

可以运行在一个构建环境里,比如运行在 macOS;也可以作为不需要构建环境的普通任务调度编排。它有如下特性:

  • 由多个 Tasks(插件)组成
  • 一个 Task 失败,则该 Job 失败,其余 Task 将不会运行

Stage(阶段)

  • 由多个 Job 组成
  • 同个 Stage 下的 Job 并行执行,且 Job 与 Job 之间相互独立
  • 当一个 Job 失败,则该 Stage 失败

    这个Stage存在两个job:构建环境-macOS、无编译环境

Pipeline(流水线)

  • 由多个 Stage 组成
  • 同个 Pipeline 下的 Stage 串行执行,一个 Stage 失败,将不会执行后续 Stage
  • 当一个 Stage 失败,则该 Pipeline 失败

Materials and Triggers(材料和触发)

Materials(源材料)

流水线执行就像做饭一样,需要材料(米),有了材料,才能做出可口的饭菜。向流水线中添加了拉取代码库的相关插件后(Git、SVN),这个流水线就有了材料。

Trigger(触发)

即流水线构建的触发方式,目前包括:手动触发、定时触发、代码库事件触发以及远程触发。

其它

产出物

执行一次流水线构建,会有很多产出物出现,我们按照下面的维度进行了分类:

  • 构件(Artifact) 顾名思义,就是编译或打包之后产生的二进制文件,包括镜像、版本压缩包、IPA 包、APK 包等等,利用插件你可以将构件归档到指定的仓库中。
  • 代码检查报告
    如果你的流水线中包含了 CodeCC 代码检查任务插件,那么你的流水线就会多出这样一个代码检查报告页面,该页面数据会随着你的流水线构建执行而不断刷新。
  • 测试报告
  • 安装程序
  • 版本日志
  • 文档
    如果想在不同 Job 之间共享产出物,需要用到【Upload】和【Download】插件。

WORKSPACE

在构建机上工作目录,所有与构建机相关的插件执行时的相对目录,在如下这些需要路径插件中,需要的也是 WORKSPACE 下的相对路径。

节点

也称之为构建机,为了编译、测试或部署你的代码,你需要将至少 1 台 Agent 节点导入至 BK-CI,而随着团队规模的增长,这个数字将不断扩充。根据节点类型的不同,我们的任务也分为两类:

  • 直接运行在节点上
    你可以在添加 Job 时直接选择导入到 BK-CI 的私有构建机(包含 macOS、Windows、Linux),流水线会在运行到对应 Job 时将任务分配到该构建机上。
  • 运行在节点的 docker 内
    当你的节点操作系统是 Linux 时,Job 详情页的构建资源类型会多出一个选项:Linux 构建镜像。选择这个选项,流水线会在运行到该 Job 后,通过以下方式来充分利用你的节点 CPU、MEM 等动态资源:
  • 在分配到该 Job 的节点上运行 docker run 命令,将对应镜像启动后
  • 把 WORKSPACE 挂载至 docker 内来进行编译构建
  • Job 运行结束后,销毁该容器,WORKSPACE 保留
相关推荐
EMTime7 小时前
Docker运行OpenWRT
运维·docker·容器
lolo大魔王7 小时前
Linux 文件系统超全面详解(原理、结构、挂载、分区、inode、日志、管理命令)
linux·运维·服务器
zyl8372110 小时前
Docker 使用手册
运维·docker·容器
古月方枘Fry10 小时前
MGRE实验
运维·服务器
stolentime11 小时前
FreeDomain 本地开发环境快速搭建指南
运维·服务器·网络
bush412 小时前
嵌入式linux学习记录四
linux·运维·学习
lihao lihao13 小时前
软硬链接
linux·运维·服务器
TOWE technology13 小时前
智能安防监控系统如何做好防雷?——视频信号SPD综合应用方案解析
运维·服务器·防雷产品·信号保护·信号防雷·spd
楼田莉子13 小时前
Docker学习:Docker介绍及其架构介绍
运维·后端·学习·docker·容器·架构
大明者省14 小时前
IIS 端口绑定正常访问的原理说明与常见误区澄清
运维·服务器·笔记