Buddy是一个闻名DevOps自动化渠道,支撑云服务与本地私有化自托管部署。本文带您详细了解Buddy GUI和YAML中的流水线装备:
- 中文版:buddy.red
- 中文文档:docs.buddy.red
- 英文版:buddy.works
Buddy可让您经过两种方法装备流水线:
- GUI– 经过网站或API进行装备
- YAML– 经过坐落存储仓中的“buddy.yml”进行装备
默认情况下,方式设置为GUI。这部分文档将解释如何经过Buddy激活和运用YAML装备。
如何将装备方式切换为YAML
能够经过以下两种方法中的一种切换方式:
-
假如项目中还没有流水线,只需求推送
buddy.yml
文件至存储仓即可激活。 -
假如项目中已创建流水线:
-
请注意,一旦您切换到YAML,项目中的一切流水线都将被删除。一旦装备文件被推送到Repo后将被再次康复显示回来。
如何将装备方式切换到GUI
假如您有一个之前运用YAML的项目,但想再次运用GUI装备流水线,只需进入“项目设置”并点击流水线装备区域内的GUI并保存更改即可切换GUI方式:
Buddy.yml与分支
流水线在“buddy.yml”文件中界说。将文件推送到分支X
将重新装备:
-
refs
或events.refs
包括refs/heads/X
的一切流水线 -
refs
或events.refs
设置为通配符匹配分支X
的一切流水线 - 未设置
refs
或events
的一切流水线,条件是分支X
是默认分支
推送带有标签X
的文件将重新装备:
-
refs
或events.refs
包括refs/tags/X
的一切流水线 -
refs
或events.refs
设置为通配符匹配标记X
的一切流水线
YAML东西帮手
为了使装备更简单,您能够运用YAML东西帮手:
- 转储项目中界说的流水线装备
- 在GUI中界说一个流水线,以便您能够看到它在YAML中呈现的内容
- 在GUI中界说一个操作,以便您能够看到它在YAML中呈现的内容
装备操作详细信息后,单击生成YAML:
生成YAML之后,将呈现一个包括生成的YAML的信息页面,如下图:
.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将读取和解析的多个文件:
- 存储仓根目录下的
buddy.yml
文件(这个不变) - .buddy目录下的一切
*.yml
文件
假如在多个条目和/或文件中界说了具有相同ID的流水线,则将根据代码行中的最后一个界说装备流水线(文件按字母次序处理)。
- YAML构架不会改变
- 每个文件的流水线数量没有限制
加密变量
要加密yaml中的变量,您需求首先在作业区设置中设置加密盐值:
然后运用YAML东西帮手为您的buddy.yml
生成加密值:
解决问题
假如buddy.yml
中的流水线界说不正确,将不会增加流水线。为了调试出是什么问题,请按照下列步骤操作:
- 转向项目动态信息流
- 运用新版本的
buddy.yml
查找包括提交的推送
单击提交将发动涵盖文件处理过程的日志: