Skip to main content

Spark Pipeline 总体介绍

Translation in progressThis guide is currently available in Simplified Chinese. A translated version will be added later.

Spark Pipeline 把 Git 仓库中的应用构建成可发布制品,并部署到 Kubernetes(K8S)或 Docker 主机。它不是一个孤立的“流水线编辑器”:一次成功发布依赖 Secret、集群运行时、应用代码仓库和应用环境已经按顺序配置完成。

阅读本手册后,你可以:

  • 为私有 Git 仓库、镜像仓库和运行时连接准备 Secret
  • 注册 K8S 或 Docker 集群,并完成对应的构建与部署配置
  • 创建 App,关联 Java、Python 或 Node.js 仓库
  • 为 DEV、TEST、STAGING、PROD 建立相互独立的部署环境
  • 配置 Build、Test Gate、Deploy 阶段并查看发布记录、日志与制品
  • 复现 Spark Console、Pulse Force Server、front-era 三种技术栈示例
Spark Pipeline 全景展示应用详情中的 Repository、Deployment、Pipeline 入口,以及 Build、Test Gate、Deploy 三阶段流水线。images/spark-pipeline-overview-01.webp
截图待补充

1. 配置对象之间的关系​

Secret
├─ Git Secret ───────────────→ App Repository
├─ Kubeconfig ───────────────→ K8S Cluster
├─ Harbor Secret ────────────→ K8S Harbor Config
└─ SSH Private Key ──────────→ Docker Host / Bastion Host

Cluster + App Repository
↓
App Deployment Environment
↓
Deployment Configuration
↓
Release Branch → Build Image → Test Gate → Deploy

配置归属很重要:

对象作用域说明
SecretTenant 或 App保存 Git、Harbor、Kubeconfig、SSH 等敏感材料
ClusterTenant提供 K8S API 或 Docker 主机运行能力
RepositoryApp定义语言、Git URL、基线分支和 Git Secret
Deployment EnvironmentApp把一个环境绑定到一个集群和 namespace/host group
Deployment ConfigurationApp + Environment定义容器、端口、资源、健康检查和技术栈构建参数
PipelineApp + Environment定义阶段顺序、发布分支、运行与发布历史

同一个 App 可以有多个环境。每个环境有独立的部署配置、Pipeline、发布分支和运行历史;在 DEV 中构建成功不会自动发布到 PROD。

2. 推荐配置顺序​

首次接入应用时按以下顺序操作:

  1. 在 System Settings → Secret Management 创建所需 Secret。
  2. 在 Cluster Management 注册 K8S 或 Docker 集群。
  3. 完成集群级构建与运行时配置。
  4. 在 Applications 创建 App,选择 Existing Application,或确保能力中包含 Repository 和 Pipeline。
  5. 打开 App 的 Repository,设置语言、Git URL、基线分支和 Git Secret。
  6. 打开 Deployment,创建环境并绑定集群与运行目标。
  7. 进入该环境的部署配置,保存容器、网络、健康检查和构建参数。
  8. 打开 Pipeline,保存阶段,添加发布分支,然后启动构建。
  9. 构建完成后通过 Test Gate,并在 Deploy 阶段确认部署。
  10. 在 Release History 中核对制品、部署快照、事件和日志。
tip

先完成集群与部署配置,再配置 Pipeline。Pipeline 会在保存和运行前检查部署目标;缺少 Harbor、Docker Host Group 或部署配置时,继续编辑阶段并不能绕过这些前置条件。

3. 当前支持矩阵​

语言K8SDocker典型构建方式
Java支持支持Maven 源码构建 + Dockerfile 镜像构建
Python支持支持使用仓库 Dockerfile 构建镜像
Node.js支持支持Dockerfile,或 K8S 中由 Spark 管理 NPM/Yarn/PNPM 构建

K8S Node.js 还提供 Static Artifact 发布模式。该模式生成静态产物,不生成可供 K8S Deploy 阶段使用的容器镜像,因此不能与 DEPLOY_K8S 放在同一条当前发布链路中。要通过 Pipeline 部署前端容器,请选择 Container Image。

4. 本手册目录​

平台准备​

应用与环境​

构建与发布​

完整示例​

最后可使用问题排查逐层判断错误发生在 Git、构建、镜像仓库还是部署目标。