Buddy是一个闻名DevOps自动化渠道,支撑云服务与本地私有化自托管部署。本文带您详细了解Buddy GUI和YAML中的流水线装备:

  • 中文版:buddy.red
  • 中文文档:docs.buddy.red
  • 英文版:buddy.works

Buddy可让您经过两种方法装备流水线:

  1. GUI– 经过网站或API进行装备
  2. YAML– 经过坐落存储仓中的“buddy.yml”进行装备

默认情况下,方式设置为GUI。这部分文档将解释如何经过Buddy激活和运用YAML装备。

如何将装备方式切换为YAML​

能够经过以下两种方法中的一种切换方式:

  • 假如项目中还没有流水线,只需求推送buddy.yml文件至存储仓即可激活。

  • 假如项目中已创建流水线:

    1. 转向方针项目流水线后点击下拉按钮“下载YAML装备”, 以备稍后切换至YAML方式可直接将此备份推送至存储仓。
      DevOps佼佼者Buddy: 平台兼具YAML与GUI比竞品都优秀
    2. 进入方针项目后经过导航栏进入“项目设置”,然后点击“流水线装备”区域之下从”Web UI”切换至“YAML”并点击“保存更改”按钮。
    3. 转向项目存储仓并点击下拉按钮后选择“上传文件…”将之前下载的文件上传上去,或者经过克隆的本地Repo增加之前下载的YAML文件即可成功切换至YAML方式。(保证文件名为:buddy.yml)
      DevOps佼佼者Buddy: 平台兼具YAML与GUI比竞品都优秀
  • 请注意,一旦您切换到YAML,项目中的一切流水线都将被删除。一旦装备文件被推送到Repo后将被再次康复显示回来。

如何将装备方式切换到GUI​

假如您有一个之前运用YAML的项目,但想再次运用GUI装备流水线,只需进入“项目设置”并点击流水线装备区域内的GUI并保存更改即可切换GUI方式:

DevOps佼佼者Buddy: 平台兼具YAML与GUI比竞品都优秀

Buddy.yml与分支​

流水线在“buddy.yml”文件中界说。将文件推送到分支X将重新装备:

  • refsevents.refs包括refs/heads/X的一切流水线
  • refsevents.refs设置为通配符匹配分支X的一切流水线
  • 未设置refsevents的一切流水线,条件是分支X是默认分支

推送带有标签X的文件将重新装备:

  • refsevents.refs包括refs/tags/X的一切流水线
  • refsevents.refs设置为通配符匹配标记X的一切流水线

YAML东西帮手​

为了使装备更简单,您能够运用YAML东西帮手:

  • 转储项目中界说的流水线装备
  • 在GUI中界说一个流水线,以便您能够看到它在YAML中呈现的内容
  • 在GUI中界说一个操作,以便您能够看到它在YAML中呈现的内容

DevOps佼佼者Buddy: 平台兼具YAML与GUI比竞品都优秀

装备操作详细信息后,单击生成YAML:

DevOps佼佼者Buddy: 平台兼具YAML与GUI比竞品都优秀

生成YAML之后,将呈现一个包括生成的YAML的信息页面,如下图:

DevOps佼佼者Buddy: 平台兼具YAML与GUI比竞品都优秀

.yml文件中的流水线以列表的方式界说。以下是一个示例装备文件,其中界说了两条流水线:

- pipeline: "production"
  on: "CLICK"
  refs:
  - "refs/heads/master"
  actions:
  - action: "Execute: npm test"
    type: "BUILD"
    docker_image_name: "library/node"
    docker_image_tag: "6"
    execute_commands:
    - "npm install"
    - "npm test"
    setup_commands:
    - "npm install -g gulp grunt-cli"
  - action: "Upload files to winserver.sls"
    type: "FTP"
    input_type: "BUILD_ARTIFACTS"
    local_path: "/"
    login: "pass"
    password: "testtest"
    host: "winserver.sls"
    port: "21"
- pipeline: "build server"
  on: "EVENT"
  events:
- type: "PUSH"
  refs:
  - "refs/heads/dev"
  actions:
  - action: "Execute: npm test"
    type: "BUILD"
    docker_image_name: "library/node"
    docker_image_tag: "6"
    execute_commands:
    - "npm install"
    - "npm test"
    setup_commands:
    - "npm install -g gulp grunt-cli"

多YAML文件支撑​

在单个项目中具有许多流水线的用户能够将界说拆分为Buddy将读取和解析的多个文件:

  1. 存储仓根目录下的buddy.yml文件(这个不变)
  2. .buddy目录下的一切*.yml文件

假如在多个条目和/或文件中界说了具有相同ID的流水线,则将根据代码行中的最后一个界说装备流水线(文件按字母次序处理)。

  • YAML构架不会改变
  • 每个文件的流水线数量没有限制

加密变量​

要加密yaml中的变量,您需求首先在作业区设置中设置加密盐值:

DevOps佼佼者Buddy: 平台兼具YAML与GUI比竞品都优秀

然后运用YAML东西帮手为您的buddy.yml生成加密值:

DevOps佼佼者Buddy: 平台兼具YAML与GUI比竞品都优秀

解决问题​

假如buddy.yml中的流水线界说不正确,将不会增加流水线。为了调试出是什么问题,请按照下列步骤操作:

  1. 转向项目动态信息流
  2. 运用新版本的buddy.yml查找包括提交的推送

单击提交将发动涵盖文件处理过程的日志:

DevOps佼佼者Buddy: 平台兼具YAML与GUI比竞品都优秀