首页> 外文会议>Annual midwest instruction and computing symposium >UTILIZING THE PORTABILITY OF DOCKER TO DESIGN A PORTABLE AND SCALABLE CONTINUOUS INTEGRATION STACK
【24h】

UTILIZING THE PORTABILITY OF DOCKER TO DESIGN A PORTABLE AND SCALABLE CONTINUOUS INTEGRATION STACK

机译:利用Docker的可移植性设计便携式和可扩展的连续集成堆栈

获取原文

摘要

With the release of Docker as an open source project in March of 2013, the project has gained substantial pull in the world of systems administration, and especially in software development. The removal of the hypervisor layer, as well as the reduction of unnecessary dependencies in Docker based virtual machines - commonly called images - allows for extremely reduced storage footprints and effectively (as explained on the project's website) allows "'dockerized1 projects to be completely portable"("What is Docker?"). This portability makes for a powerful tool when designing continuous integration stacks. When designing a continuous integration system, it is important to consider several important factors, such as the kinds of scenarios the system needs to handle, what sorts of assumptions about the environments need to be made, and how configurable a system needs to be in order to handle unforeseen edge cases on the fly. A Docker based system could, in theory, help in solving these issues if used properly. Instead of moving source code between test and production environments, you could instead transport the entire environment to the production location through the use of Docker images. In addition, because the "production code" is tied to a "production environment" which is encapsulated in a Docker image, it becomes unnecessary to make assumptions about the states of production deployment environments, and making tweaks to the environment is a simple Due to the fact that Docker images are sandboxed virtual machines, and because Docker has a single inheritance based hierarchy2 it is possible to run a Docker image inside another Docker image. When we examine the rather traditional model for continuous integration servers, wherein there is a service that acts as a master or dispatcher - providing tasks to an n-series group of slave/ worker instances tasked with running build tasks and tests, we can see that both the master and the slaves could potentially benefit from the portability and also the transience of docker images. Taking queue from Martin Fowler's article on designing phoenix like servers3 to avoid what he calls configuration drift4. By implementing this mannerism, we can create continuous integration environments with Docker that are portable and scalable. The portability coming from the nature of Docker images, and the scalability by spawning up several instanstances of a docker image5 containing an implementation of a worker. Thusly, we have a pattern for transporting and scaling the relatively complex systems and processes that make up a build server. From here the next step would be to design a pattern for recursively inheriting Docker containers as well as defining states that individual images should provide such that this pattern would function as intended.
机译:随着2013年3月作为开源项目的Docker释放,该项目在系统管理领域获得了大量拉动,特别是在软件开发中。删除虚拟机管理程序层,以及基于Docker的虚拟机中的不必要依赖性 - 通常称为图像 - 允许极其减少的存储空间和有效(如项目网站上的说明)允许“Dockerized1项目完全便携“(”什么是Docker?“)。在设计持续集成堆栈时,此可移植性为强大的工具。在设计持续的集成系统时,重要的是考虑几个重要因素,例如系统需要处理的场景类型,需要进行关于环境的有点假设,以及如何配置系统的配置程度在飞行中处理不可预见的边缘案例。基于Docker的系统可以在理论上有助于解决这些问题,如果正确使用。而不是在测试和生产环境之间移动源代码,而是可以通过使用Docker图像来将整个环境传送到生产位置。此外,由于“生产代码”与封装在Docker图像中的“生产环境”相关联,因此不必对生产部署环境的状态进行假设,并且对环境进行调整是一种简单Docker图像是沙盒虚拟机的事实,因为Docker具有基于单个继承的层级2,可以在另一个Docker图像内运行Docker图像。当我们检查连续集成服务器的相当传统模型时,其中有一个作为主设备或调度程序的服务 - 为N系列从属/工人实例提供任务的任务,我们可以看到它主人和奴隶都可能从便携性和Docker图像的特性中受益。从Martin Fowler的文章中乘坐队列设计凤凰像服务器3,以避免他所谓的配置drift4。通过实现这种方法,我们可以使用便携式和可扩展的Docker创建连续集成环境。来自Docker图像的性质的可移植性,以及通过产卵的几个instanstance,以及包含一个工人实现的码头图像的伸展性。因此,我们有一种用于传输和缩放构成构建服务器的相对复杂的系统和进程的模式。从这里,下一步将设计一种用于递归继承Docker容器的模式以及定义各个图像应该提供的状态,使得该模式将按预期运行。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号