Buddy是一个知名DevOps自动化平台,支持云服务与本地私有化自托管部署。本文带您详细了解BuddyGUI和YAML中的流水线配置:中文版:buddy。red中文文档:docs。buddy。red英文版:buddy。works Buddy可让您通过两种方式配置流水线:GUI通过网站或API进行配置YAML通过位于存储仓中的buddy。yml进行配置 默认情况下,模式设置为GUI。这部分文档将解释如何通过Buddy激活和使用YAML配置。如何将配置模式切换为YAML 可以通过以下两种方式中的一种切换模式:如果项目中还没有流水线,只需要推送buddy。yml文件至存储仓即可激活。如果项目中已创建流水线:转向目标项目流水线后点击下拉按钮下载YAML配置,以备稍后切换至YAML模式可直接将此备份推送至存储仓。进入目标项目后通过导航栏进入项目设置,然后点击流水线配置区域之下从WebUI切换至YAML并点击保存更改按钮。转向项目存储仓并点击下拉按钮后选择上传文件。。。将之前下载的文件上传上去,或者通过克隆的本地Repo添加之前下载的YAML文件即可成功切换至YAML模式。(确保文件名为:buddy。yml)请注意,一旦您切换到YAML,项目中的所有流水线都将被删除。一旦配置文件被推送到Repo后将被再次恢复显示回来。如何将配置模式切换到GUI 如果您有一个之前使用YAML的项目,但想再次使用GUI配置流水线,只需进入项目设置并点击流水线配置区域内的GUI并保存更改即可切换GUI模式: Buddy。yml与分支 流水线在buddy。yml文件中定义。将文件推送到分支X将重新配置:refs或events。refs包含refsheadsX的所有流水线refs或events。refs设置为通配符匹配分支X的所有流水线未设置refs或events的所有流水线,前提是分支X是默认分支 推送带有标签X的文件将重新配置:refs或events。refs包含refstagsX的所有流水线refs或events。refs设置为通配符匹配标记X的所有流水线YAML工具助手 为了使配置更容易,您可以使用YAML工具助手:转储项目中定义的流水线配置在GUI中定义一个流水线,以便您可以看到它在YAML中呈现的内容在GUI中定义一个操作,以便您可以看到它在YAML中呈现的内容 配置操作详细信息后,单击生成YAML: 生成YAML之后,将出现一个包含生成的YAML的信息页面,如下图: 。yml文件中的流水线以列表的形式定义。以下是一个示例配置文件,其中定义了两条流水线:pipeline:productionon:CLICKrefs:refsheadsmasteractions:action:Execute:npmtesttype:BUILDdockerimagename:librarynodedockerimagetag:6executecommands:npminstallnpmtestsetupcommands:npminstallggulpgruntcliaction:Uploadfilestowinserver。slstype:FTPinputtype:BUILDARTIFACTSlocalpath:login:passpassword:testtesthost:winserver。slsport:21pipeline:buildserveron:EVENTevents:type:PUSHrefs:refsheadsdevactions:action:Execute:npmtesttype:BUILDdockerimagename:librarynodedockerimagetag:6executecommands:npminstallnpmtestsetupcommands:npminstallggulpgruntcli多YAML文件支持 在单个项目中拥有许多流水线的用户可以将定义拆分为Buddy将读取和解析的多个文件:存储仓根目录下的buddy。yml文件(这个不变)。buddy目录下的所有。yml文件 如果在多个条目和或文件中定义了具有相同ID的流水线,则将根据代码行中的最后一个定义配置流水线(文件按字母顺序处理)。 信息YAML构架不会改变每个文件的流水线数量没有限制加密变量 要加密yaml中的变量,您需要首先在工作区设置中设置加密盐值: 然后使用YAML工具助手为您的buddy。yml生成加密值: 解决问题 如果buddy。yml中的流水线定义不正确,将不会添加流水线。为了调试出是什么问题,请按照下列步骤操作:转向项目动态信息流使用新版本的buddy。yml查找包含提交的推送 单击提交将启动涵盖文件处理过程的日志: