Buddy是一个知名DevOps自动化平台,支持云服务与本地私有化自托管部署。本文带您详细了解Buddy GUI和yaml中的流水线配置:

Buddy可让您通过两种方式配置流水线:

  1. GUI - 通过网站或API进行配置
  2. YAML - 通过位于存储仓中的“buddy.yml”进行配置

默认情况下,模式设置为GUI。这部分文档将解释如何通过Buddy激活和使用YAML配置。

如何将配置模式切换为YAML

可以通过以下两种方式中的一种切换模式:

如何将配置模式切换到GUI​

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

devops 上线(平台兼具YAML与GUI比竞品都优秀)(1)

Buddy.yml与分支​

流水线在“buddy.yml”文件中定义。将文件推送到分支X将重新配置:

推送带有标签 X 的文件将重新配置:

YAML工具助手​

为了使配置更容易,您可以使用YAML工具助手:

devops 上线(平台兼具YAML与GUI比竞品都优秀)(2)

配置操作详细信息后,单击生成YAML

devops 上线(平台兼具YAML与GUI比竞品都优秀)(3)

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

devops 上线(平台兼具YAML与GUI比竞品都优秀)(4)

.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中的变量,您需要首先在工作区设置中设置加密盐值:

devops 上线(平台兼具YAML与GUI比竞品都优秀)(5)

然后使用YAML工具助手为您的 buddy.yml 生成加密值:

devops 上线(平台兼具YAML与GUI比竞品都优秀)(6)

解决问题​

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

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

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

devops 上线(平台兼具YAML与GUI比竞品都优秀)(7)

,