跳到主要内容

构建 & 测试

详细了解您可以在 Buddy 中执行的构建和测试

Buddy使用交付流水线来构建、测试和部署网站和应用程序。流水线由可以轻松安排的操作组成,涵盖了Web开发的整个过程:获取依赖项、编译代码、压缩CSS、运行Gulp/Grunt、使用Webpack捆绑模块:可达到您所要实现工作流程的任何任务。

总览

当触发流水线时,Buddy会启动一个独立的Docker容器,在该容器中,它会在存储仓的关联工件中运行构建命令。工件(由构建操作创建的文件)保存在流水线文件系统中,并且可用于部署等其他操作。

Buddy为最流行的编程语言、框架和任务运行器提供了20多个预定义环境。环境及其配置由其作者和与给定语言或工具相关的社区正式批准。

Buddy操作

配置

构建操作使用在预定义环境中执行的构建命令。这些命令可以作为SH或BASH脚本运行。如果任何命令以错误结束,Buddy将停止执行并将其标记为失败。构建操作需要配置两件事:

  1. 在容器中运行命令[运行选项卡]
  2. 运行命令所需的环境 [环境选项卡]

例如,如果您想测试您的Go应用程序,您只需选择Go操作,输入要运行的命令,然后选择Go版本。

构建命令

构建命令在运行选项卡中定义。在每次执行时运行,应用于:

  • 提取依赖项
  • 构建和测试您的应用

默认构建命令

提醒

不要输入准备环境的命令(例如: apt-get install),如果要准备环境安装与设置,请使用环境选项卡(见下文)

环境

"环境"选项卡允许您指定所需的框架或工具的版本。所有操作都使用来自Docker Hub的官方Docker镜像作为模板。您还可以使用所选注册中心的自定义镜像。

Environment tab

环境定制

如果所选镜像缺少构建所需的组件(例如: Go扩展或Apache模块),您可以在环境选项卡之下安装。

环境定制

信息
环境选项卡中的命令在第一次执行期间仅运行一次。它们被缓存在容器中,不需要再次下载(除非流水线缓存被清除)。
提醒
  • 在执行自定义命令期间,存储仓文件不可用。这意味着您不应该使用它来下载存储仓中已经定义的依赖项
  • 环境变量和SSH密钥在命令执行期间也不可用
  • 如果要使用多行命令,请确保以反斜杠结束行\

文件系统挂载路径和工作目录

默认情况下,文件系统挂载到 /buddy/$repo-slug-name 路径中的容器。这与执行构建命令的路径相同。您可以在缓存选项卡中更改挂载路径和工作目录:

配置文件系统

Docker容器即构建环境

除了预定义的环境,您还可以使用自己的Docker镜像或托管在Docker Hub、Amazon ECR、谷歌GCR或私有注册中心上的任何镜像。要使用您自己的镜像,请选择自定义构建操作:

环境设置

信息

镜像将使用已安装的文件系统和“构建命令”字段中定义的命令运行。如果要使用Docker镜像中定义的命令运行镜像,请使用运行Docker镜像操作。

提醒

您还可以使用流水线中先前操作中构建的Docker镜像,而无需从注册中心拉取。

参看

缓存

环境变量

条件执行