自定义服务
了解如何配置自定义服务、使用环境变量对其进行自定义以及在构建操作中使用。
Buddy的核心功能是在应用程序交付到服务器之前对其进行构建和测试。通常,如果您想正确测试您的应用程序,您需要一个数据库或其他一些服务。在 MySQL、PSQL 或 MongoDB 等预定义服务之上,您可以从头开始创建自己的服务。此功能允许您为应用程序的前端和后端运行测试,或者创建具有自定义配置的数据库服务并在您的构建中使用。
尽管Buddy还不支持Docker Compose,但自定义服务让您基本上可以定义任何可以通过它实现的配置。事实上,所有构建操作和服务都被设计为按照Docker Compose运行。
如何添加自定义服务
就像任何其他微服务一样添加自定义服务。只需转到构建操作中的"服务"选项卡,然后从下拉列表中选择"自定义"服务:
添加自定义服务后,需要定义以下内容:
主机名
– 其他服务将用于连接到此服务的 IDDocker镜像
— 注册中心、镜像及其版本- [可选] 运行命令和挂载的件系统
使用您自己的镜像即服务
Buddy默认从选定的私有或公共Docker注册中心中提取镜像,并提供对Docker Hub、Amazon ECR和Google GCR注册中心的专门支持。您还可以使用由流水线中的先前操作构建的镜像。例如,您可以为前端和后端构建镜像,然后使用自定义构建操作一起运行和测试。 为此,请选择使用之前操作中构建的Docker镜像,然后选择下面的镜像:
整个流水线看起来像这样,有两个操作构建应用程序的前端和后端:
您最多可以为每个构建操作添加6个服务。第一个是构建操作的主要镜像,剩下的5个可以从“服务”选项卡中添加。
环境变量与文件系统自定义服务
每次运行自定义服务时,Buddy都会向其发送构建操作中定义的变量。通过这种方式,您可以自定义其工作方式。例如,您可以将MYSQL_ROOT_PASSWORD或MYSQL_ROOT_USER变量发送到官方MySQL镜像,以便在启动期间配置镜像:
除此之外,如果需要从版本控制访问文件,例如配置文件,您可以将流水线文件系统挂载到服务:
服务缓存数据
可以缓存预定义的服务(MySQL、MongoDB、Postgres等)。这意味着数据库只传种一次,从而大大加快了构建速度。为了在自定义服务中缓存数据,您必须使用流水线文件系统(见上文),或定义将为每个服务缓存的路径:
已挂载的卷将在执行之间保持持久性,即缓存只会从流水线设置中手动清除,或者在启用了清除缓存选项的情况下运行执行时。