Ruby on rails 如何测试和部署Docker产品映像?
我正在RubyonRails上开发,并开始使用Docker部署一个月 以下是我正在进行的步骤Ruby on rails 如何测试和部署Docker产品映像?,ruby-on-rails,docker,Ruby On Rails,Docker,我正在RubyonRails上开发,并开始使用Docker部署一个月 以下是我正在进行的步骤 我笔记本电脑上的dev 推到gitlab 建立一个单一的形象,包括测试和生产宝石 对此映像运行rspec (通过)推送到注册表,(失败)放弃映像 有了这个工作流程,我将拥有一个包含所有测试、开发和生产宝石的单一图像 我从与许多人交谈中发现的工作流程 戴夫在我的笔记本电脑上 推到gitlab 构建测试映像(测试所需的所有gem) 对测试映像运行rspec (通过)构建另一个映像以进行部署,而不使用测试ge
- 增加映像大小—因为它包含测试工具、所需的包、测试脚本,甚至测试数据
- 使用特定于测试的配置污染映像运行时环境,甚至可能引入不必要的依赖项(集成测试需要)
- 我们还需要决定如何处理测试结果和日志;如何以及在哪里出口它们
Docker测试作为集装箱管理生命周期的一部分
如前所述,Docker有一个非常有用的。此指令允许我们在后续生成时触发另一个生成指令。
基本思想是在运行docker test
命令时使用ONBUILD
指令
通过docker test
命令执行的流:
docker test
将在应用程序Dockerfile中搜索ONBUILD
指令,并将
- 生成一个临时的
Dockerfile。从原始Dockerfile
- 使用docker build命令支持的附加选项执行
docker build-f Dockerfile.test[OPTIONS]路径
:将自动附加到标记
选项的-test
- 如果构建成功,请执行
docker run-v./tests/results:/var/tests/results[OPTIONS]IMAGE:tagtest[COMMAND][ARG…]
- 删除
Dockerfile.test
文件
(本文继续描述集成测试容器)