1. 主页
  2. 文档
  3. HCaaS操作指南
  4. DevOps
  5. 图形化构建流水线

图形化构建流水线

本示例将默认用户已授权代码库为例进行介绍。
为方便用户能够访问流水线的构建过程和操作项,允许用户不授权代码库的情况下,使用示例代码库创建流水线,但注意不可编辑和推送到远端。

操作步骤
参考以下步骤,创建并运行一个完整的流水线。

第一步:选择代码库

  1. 在DevOps中,选择左侧【流水线】,然后点击【创建流水线】

  2. 选择代码库
    注意:当前项目下,如已经选择了代码库且创建了流水线,则本项目不可再次选择该代码库。其次,选择的代码库若存在流水线配置模板文件,点击【下一步:流水线配置】后将会出现配置文件对应的图形化配置信息。

第二步:选择分支和设置触发规则

  1. 构建流水线的视图默认为图形化构建,减少用户上手难度,可选择通过yaml方式构建流水线,两种方式数据同步。
  2. 选择分支。分支是当前代码库下的所属分支;
  3. 流水线触发。触发运行流水线的事件,可用事件如下:
    • 推送:当将代码推送到代码库中的分支时,触发流水线。
    • 拉取请求:每当对代码库提 Pull Request 时,触发流水线。
    • tag:在代码库中创建 tag 时,触发流水线。
  4. 镜像仓库触发。支持Aliyun、Harbor和DockerHub,可下拉选择对应的token或者添加新的token,点击“+Token”后步骤如下:

    tab栏切换可添加Aliyun仓库、Harbor仓库和DockerHub仓库的Token,每一种类型在右侧都有对应的详细添加步骤,添加完成后,返回流水线配置页面下拉,即可选择已添加的Token。

  5. 启用流水线缓存。控制整条流水线的缓存,默认开启,关闭后,构建流水线的步骤将不会出现缓存目录。

第三步:流水线设置

  1. 在阶段右侧点击“+”继续增加一个阶段用于流水线执行。
    注意:阶段和阶段之间不可以加入阶段,图形化流水线画布可拖动。

    名称:为你的流水线阶段取一个寓意简洁明了的名称。阶段名称应包含 1-63个字符,可包含数字、小写英文字符或连字符(-),不支持中文字符;
    阶段运行规则:规则为自定义选项,可根据实际需求进行该阶段的运行规则配置,阶段与阶段之间互不影响。
  2. 点击添加阶段的【完成】按钮即可创建成功。点击阶段后面的编辑图标,可再次对该阶段进行编辑。
  3. 点击【添加步骤】,为该阶段添加执行的步骤。支持的步骤有很多种类型,包括运行脚本、构建发布镜像、发布应用模板、部署YAML、部署应用等等。为了提供这些功能,我们采用Jenkins作为底层的CI/CD工具,docker registry 作为镜像仓库,minio作为日志存储。这些服务是运行在名称包含pipeline的命名空间下。
    注意:clone阶段不支持添加步骤操作。

    类型一:运行脚本


    基础镜像:
    下拉选择运行脚本的基础镜像环境。
    脚本:支持shell语言的脚本
    环境变量:以添加键值对的形式来为该步骤设置环境变量。
    从密文中注入环境变量:用户可以从项目资源中读取已有环境变量,密文选择命名空间或项目后,可选择该命名空间下的键,别名不是必填项,若填写后,可在脚本中编写“$变量名”读取环境变量。如下图所示:

    缓存目录:必须为整个流水线启动缓存目录,才能为单个步骤启用缓存目录。
    我们为部分基础镜像提供了默认的缓存路径,无需再配置缓存路径。注意:添加容器路径时,影响到系统文件或稳定性的目录将被禁止,例如“/etc”。当添加完容器路径后,我们将容器路径映射到主机,以便持久化保存。

     

    类型二:构建并发布镜像

    此步骤用于构建并推送镜像至镜像仓库

    Dockerfile路径:Dockerfile 文件在您代码库中的相对路径,默认值为./Dockerfile,是一个构建指令文件,一般位于构建上下文的根目录下
    推送:选择是否将镜像推送到远端镜像仓库
    镜像库:选择镜像库,“流水线内部仓库”对应的是流水线自带DockerHub;“本项目仓库”为HCaaS内置镜像仓库;其他仓库为用户在项目中自己创建的仓库

    构建上下文:Dockerfile所在的本地路径,并将Dockerfile文件放在该目录下。docker引擎会将该路径下的所有文件打包,然后上传至docker引擎。
    启用流水线缓存:同上,查看类型一。


    类型三:发布应用模板

    基于 Helm 打包规范构建、上传Helm应用配置包。

    chart目录:chart 目录在代码库中的相对路径。也就是Chart.yaml所在的目录。
    应用模板名称:所发布应用模板的名称。例如,wordpress。
    应用模板版本:所发布应用模板的版本。这个版本应该和您Chart.yaml文件中的版本号匹配。
    Chart仓库:默认选择本项目仓库,若未开启,请联系集群所有者管理员开通;当选择其他仓库时,需要填写仓库的协议,密文,git地址和分支,配置参考如下:
    协议:您可以选择通过 HTTP(s)或者 SSH 的方式发布到代码库中。一般常用协议为SSH协议,通过 SSH 进行访问是安全的 — 所有数据传输都是加密和授权的;使用 HTTP 协议的好处是易于架设。
    密文:选择包含您的 Git 访问凭证的密文。您需要在流水线专用的命名空间中创建一个密文。如果您用的是 HTTP 或者 HTTPS 的方式,请把 Git 的用户名和密码保存在这个密文的USERNAMEPASSWORD键值对中。如果您使用 SSH 的方式,请把 Git 的 deploy key 保存在这个密文的DEPLOY_KEY键值对中。
    git地址:把应用模板发布到这个 Git 地址。
    git分支:把应用模板发布到这个 Git 分支。


    类型四:部署应用

    应用模板通过可视化的方式在HCaaS中展示并提供部署功能,用户能够基于应用模板快速地一键部署应用至所选的项目中。应用模板对内可作为团队间共享企业创造的中间件、业务系统等,对外可作为根据行业特性构建行业交付标准、交付流程和交付路径的基础,用户根据不同场景需求服务于不同的业务场景。在使用应用模板前,需要预先添加应用市场仓库,HCaaS会自动加载此仓库下的所有应用。


    应用商店:
    选择你市场设置里添加的市场仓库;
    应用模板:选择该仓库下你需要部署的应用,默认下拉全部的应用可供选择;
    模板版本:基于应用模板选择的应用,选择该应用已有的版本号,支持自定义版本号;
    命名空间:选择将该应用部署到具体的命名空间,支持创建一个新的命名空间;
    应用名称:为应用取一个简洁明了的应用名称,便于和已有应用区分开来;
    应答:用来部署应用的键值对形式的应答。

     

    类型五:部署YAML

    填写正确的YAML路径,将该路径下的YAML文件部署到容器。

  4. 高级选项
    为流水线设置超时时间、通知和运行规则。
    超时时间:默认情况下,每个流水线执行都有 60 分钟的超时时间限制。如果流水线执行无法在其超时时间内完成,流水线将会被自动中止。
    通知:开启通知后,为触发通知设置编译规则,可同时添加多个通知接收者。请预先添加通知,否则无法按配置通知。

    创建触发规则,以对流水线的执行进行细粒度的控制。触发规则有两种:

    • 当满足条件时运行:

      在触发事件发生时,将启动流水线步骤。

    • 当满足条件时不运行:

      在触发事件发生时,将跳过流水线步骤。

    只有所有触发规则都满足时,才会执行流水线该步骤。否则将被跳过。如果跳过某个步骤,则认为该步骤执行成功,并且继续执行后续步骤。

  5. 点击【完成】即可创建成功。

这篇文章对您有用吗?

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注