构建 & 测试
详细了解您可以在 Buddy 中执行的构建和测试
Buddy使用交付流水线来构建、测试和部署网站和应用程序。流水线由可以轻松安排的操作组成,涵盖了Web开发的整个过程:获取依赖项、编译代码、压缩CSS、运行Gulp/Grunt、使用Webpack捆绑模块:可达到您所要实现工作流程的任何任务。
总览
当触发流水线时,Buddy会启动一个独立的Docker容器,在该容器中,它会在存储仓的关联工件中运行构建命令。工件(由构建操作创建的文件)保存在流水线文件系统中,并且可用于部署等其他操作。
Buddy为最流行的编程语言、框架和任务运行器提供了20多个预定义环境。环境及其配置由其作者和与给定语言或工具相关的社区正式批准。
配置
构建操作使用在预定义环境中执行的构建命令。这些命令可以作为SH或BASH脚本运行。如果任何命令以错误结束,Buddy将停止执行并将其标记为失败。构建操作需要配置两件事:
- 在容器中运行命令[运行选项卡]
- 运行命令所需的环境 [环境选项卡]
例如,如果您想测试您的Go应用程序,您只需选择Go操作,输入要运行的命令,然后选择Go版本。
构建命令
构建命令在运行选项卡中定义。在每次执行时运行,应用于:
- 提取依赖项
- 构建和测试您的应用
不要输入准备环境的命令(例如: apt-get install),如果要准备环境安装与设置,请使用环境选项卡(见下文)
环境
"环境"选项卡允许您指定所需的框架或工具的版本。所有操作都使用来自Docker Hub的官方Docker镜像作为模板。您还可以使用所选注册中心的自定义镜像。
环境定制
如果所选镜像缺少构建所需的组件(例如: Go扩展或Apache模块),您可以在环境选项卡之下安装。
- 在执行自定义命令期间,存储仓文件不可用。这意味着您不应该使用它来下载存储仓中已经定义的依赖项
- 环境变量和SSH密钥在命令执行期间也不可用
- 如果要使用多行命令,请确保以反斜杠结束行
\
文件系统挂载路径和工作目录
默认情况下,文件系统挂载到 /buddy/$repo-slug-name
路径中的容器。这与执行构建命令的路径相同。您可以在缓存选项卡中更改挂载路径和工作目录:
Docker容器即构建环境
除了预定义的环境,您还可以使用自己的Docker镜像或托管在Docker Hub、Amazon ECR、谷歌GCR或私有注册中心上的任何镜像。要使用您自己的镜像,请选择自定义构建操作:
镜像将使用已安装的文件系统和“构建命令”字段中定义的命令运行。如果要使用Docker镜像中定义的命令运行镜像,请使用运行Docker镜像操作。
您还可以使用流水线中先前操作中构建的Docker镜像,而无需从注册中心拉取。