1 当有新人加入你的团队时,是否需要1到2天配置开发环境?

2 你是否被环境不一致坑过?

3 每次有新的模块、扩展、参数更新或升级后,发布生产都会很痛苦?

//------------------------------------------

一个成熟的PHP研发团队,一定拥有强大的开发环境构建能力,工欲善其事必先利其器。

今天就和大家聊一聊,我们PHP研发是如何打造轻量级的研发环境构建能力的。

首我们的构建环境能力需要满足这些要求:

1)一键启动/关闭/重启/初始化项目开发环境。

2)完全一致的环境复制和迁移能力。

3)一切即代码,超轻量级的环境定义能力。

如何做到一键构建环境呢?

首先,我们每天的是这样开始的:

开机,双击job.bat,然后等待片刻,LNMP环境启动ok。

整个环境目录如下

vagrant

- vagrantfile

- lnmp

- app

   - hello

- mysql

- data

- sql

- my.cnf

- Dockerfile

- nginx

- nginx.conf

- conf.d

hello.conf

- php

   - php.ini

   - Dockerfile

环境准备:

win8操作系统

git

vagrant 1.9.1

virtualbox 5.1.14

docker 17.04.0.ce

docker-compose 1.13.0

环境搭建过程:

1 win上安装vagrant,virtualbox,git

2 从git仓库获取环境配置定义文件和项目代码,

包括Vagrantfile, dockerfile, docker-compose.yml,appcode

3 下载vagrant.box(可以是官网初始的linux box, 也可以是经过环境初始化的box)

4 vagrant up 启动Linux虚拟环境

5 linux 下安装git, docker, docker-compose(如果是经过初始化的box,这些应该都已经配置好了)

6 进入项目目录(该目录是挂载和同步的win下的git项目目录,也就是说项目代码和环境定义文件已经存在了)

7 docker-compose up -d 启动lnmp环境(如果一切顺利的话,环境就启动ok了)

8 配置hosts,如www.hello.in,访问项目应用。

你会发现,整个过程除了安装几个软件外,几乎不需要配置什么,包括nginx.conf php.ini 等等

查看环境运行状况:

1 vagrant  global-status