Dockerized Gitlab容器备份

时间:2016-12-21 22:47:21

标签: testing docker gitlab

我正在使用GitLab docker镜像对我正在帮助开发的服务进行集成测试。理想情况下,图像将是GitLab的预配置快照,具有不同的用户和可用于运行测试的repos。所以最终的问题是,什么是自动创建GitLab的“快照”(然后可以进行版本控制等)的好方法?

我目前解决此问题的方法是在将GitLab置于我想要的状态后,通过gitlab-rake gitlab:backup:restore使用GitLab的内置备份实用程序。然后,当容器启动时,我可以在挂钩中使用GitLab的ADD,以使容器恢复到我期望的状态(备份在Dockerfile中为docker export编写了图像)。这样做的优点是相对轻量级(备份大小为MB),备份可以签入版本控制。

我尝试使用docker import<?xml version="1.0" encoding="UTF-8"?> <metadata> <groupId>org.continuous.Integration</groupId> <artifactId>Continuous-Integration</artifactId> <versioning> <versions> <version>1.11-SNAPSHOT</version> <version>1.12-SNAPSHOT</version> <version>1.13-SNAPSHOT</version> <version>1.14-SNAPSHOT</version> <version>1.15-SNAPSHOT</version> .. .. .. .. <version>1.N-SNAPSHOT</version> </versions> <lastUpdated>20161220194944</lastUpdated> </versioning> </metadata> 来保存容器的状态,然后根据该状态创建图像。这具有易于自动化的优点,因为它直接由Docker支持,但考虑到目标是什么(让用户和repos可用于测试),最终会相当昂贵。它还需要将图像推送到某种注册表以便于分发。也许这是最好的解决方案,因为它得到了很好的支持。

我想我的问题是,Docker解决这类问题的方式是什么?

0 个答案:

没有答案