Django 1.6 最佳实践: 如何确保相同的开发环境

在我们的博客中, 记录了我们在开发过程中所使用的技术和遇到的问题, 希望作为其他开发和设计者的一个学习交流平台.

Django 1.6 最佳实践: 如何确保相同的开发环境


如何保证各个程序员之间的开发环境相同是个复杂的问题, 我们可能存在以下问题: 1.操作系统不同, 2.python配置不同. 有的程序员用的是windows, 也有使用mac和Linux的, 有些程序员甚至不知道自己使用的是哪个版本的python.

每次换了新的硬件, 都需要重新安装和设置相同的操作系统, 这样十分麻烦, 以下是当前可有的解决这一问题的选项:

  • 在虚拟机中开发: 以前这一选择是无法想象的, 因为虚拟机设置复杂, 速度又慢. 但现在却不同了, 使用Vagrant配合虚拟机, 这一选择变得十分方便.
  • 在Docker管理的LxC容器中开发: 类似于在虚拟机中开发, 但更轻量级. LxC容器可以共享host主机的硬件资源, 使其效率更高.

1. Vagrant

Vagrant是VirtualBox或其他虚拟机的一个wrapper, 它可以让你使用一个命令行就配置好你想要的VM(虚拟机). 通过Vagrant创建的VM可以使用命令行访问和控制, 免去了GUI的繁琐.

Vagrant的优势是, 其创建的VM可以通过scripts, Salt, Ansible, Chef或Puppet管理, 使得我们可以在不同的环境中设置相同的开发环境.

Vagrant可能的劣势则是, 自动化的配置可能会降低我们队底层架构的理解, 在较老的电脑上, 虚拟机可能运行较慢.

2. Docker

Docker是一个允许我们轻松创建Linux container(LxC)的开源项目. 这与许多PaaS使用的部署环境类似.

Docker的优势是使用host资源, 因此部署十分迅速.

但需要注意的是, Docker正在开发中, 处于测试阶段可能还不能用于正式服务器上.


原文链接: http://weiguda.com/blog/42/