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