蓝鲸智云统一开发环境搭建指南

腾讯官方的《蓝鲸智云统一开发环境搭建指南》

蓝鲸应用统一开发环境指南

一:背景

蓝鲸应用开发需要依赖djangocelerymysql-client等第三方库,而像celery又依赖其他多个库,新手在搭建本地开发环境时,过程繁琐,问题百出。

不同开发者,开发环境不同, window,有macwindow版本也不完全一致,开发者需要一个统一开发环境,方便调试。 蓝鲸提供的统一开发环境和线上使用的系统、库版本一致。

想要在多平台下开发,必须依赖于虚拟环境,蓝鲸提供统一开发环境使用virtualboxhypervisor,使用vagrant做管理工具,下面对使用方法做详细介绍。

二:vagrant安装配置

下面以window版本为例子,假设安装目录为D:\Program Files

1,安装vagrant,添加D:\Program Files\Vagrant\binPATH环境变量 

       外网下载地址:https://www.vagrantup.com/downloads.html

       

2,安装virtualbox ,根据提示一步一步安装完成后,添加D:\Program Files\VirtualBoxPATH环境变量 

       外网下载地址:https://www.virtualbox.org/wiki/Downloads

3,安装ssh客户端(如果本地已经有,请跳过这一步)      

vagrant使用ssh命令需要本地装ssh命令行客户端(注意xshell, SecureCRTGUI等不能被使用)

下载完成后,解压到任意目录,如D:\Program Files\OpenSSH-Win32,添加到PATH环境变量

       外网下载地址:https://github.com/PowerShell/Win32-OpenSSH/releases/download/5_15_2016/OpenSSH-Win32.zip

 运行命令vagrantVBoxManage(Virtualbox管理工具) ssh,能正常返回版本号,说明安装成功。

三:添加蓝鲸镜像到vagrant

vagrant需要基础镜像才能使用,蓝鲸已经制作好了应用开发镜像,里面包含了My-Sql, Rabbit-MQ, django等应用开发所需的环境,即开即用。

下载地址:http://bkopen-10032816.file.myqcloud.com/paas/bk-django1.8-u2.box

vagrant box add bk bk-django1.8-u2.box

bk-django1.8.box是下载的镜像名称,bk是添加的镜像名称,注意这个后面会需要用到。

四:初始化环境

vagrant第一次使用需要初始化环境,如开发环境为D:\WorkStation\vagrant\django18切换到工作目录,下文所有命令都是在工作目录下执行。

vagrant会在当前目录新建.vagrant目录并生成Vagrantfile配置文件,修改Vagrantfile,可以定制化vagrant,如端口映射,同步目录等 
注意:

  1. 默认vagrant会把当前目录做共享文件夹,挂载到/vagrant
  2. 蓝鲸镜像rootvagrant用户的密码都是vagrant

1.创建数据库

蓝鲸统一开发环境已经安装mariadb 5.5(兼容mysql5.5),新的应用使用需要先创建数据库

 

2.APP代码获取,切换工作目录

  vagrant默认会当前目录挂着到/vagrant目录下,把应用的代码拷贝到D:\WorkStation\vagrant\django18(初始化工作目录)在虚拟环境中即可看到应用的代码,假设应用为test-bk1 切换到应用的工作目录/vagrant/test-bk1/

 

3.创建表结构&升级表结构(默认仅支持django1.8

新的APP或者APP有数据库变更时,需要migrate到数据库中才能使用(django migrate请查看https://docs.djangoproject.com/en/1.8/topics/migrations/

五:运行环境,应用开发

切换到应用的工作目录/vagrant/test-bk1/

 

在本地浏览器即可,访问8000端口即可

六:Vagrant常用命令

七:Vagrantfile配置文件详解

在开发目录下有一个文件Vagrantfile,里面包含有大量的配置信息,主要包括三个方面的配置,虚拟机的配置、SSH配置、Vagrant的一些基础配置。Vagrant是使用Ruby开发的,所以它的配置语法也是Ruby的,但是我们没有学过Ruby的人还是可以跟着它的注释知道怎么配置一些基本项的配置。

网络设置

Vagrant有两种方式来进行网络连接,一种是host-only(主机模式),意思是主机和虚拟机之间的网络互访,而不是虚拟机访问internet的技术,也就是只有你一個人自High,其他人访问不到你的虚拟机。另一种是Bridge(桥接模式),该模式下的VM就像是局域网中的一台独立的主机,也就是说需要VM到你的路由器要IP,这样的话局域网里面其他机器就可以访问它了,一般我们设置虚拟机都是自high为主,所以我们的设置一般如下:

config.vm.network :private_network, ip: “11.11.11.11” 
这里我们虚拟机设置为hostonly,并且指定了一个IPIP的话建议最好不要用192.168..这个网段,因为很有可能和你局域网里面的其它机器IP冲突,所以最好使用类似11.11..这样的IP地址。

同步目录

我们上面介绍过/vagrant目录默认就是当前的开发目录,这是在虚拟机开启的时候默认挂载同步的。我们还可以通过配置来设置额外的同步目录:

config.vm.synced_folder “/Users/astaxie/data”, “/vagrant_data” 
上面这个设定,第一个参数是主机的目录,第二个参数是虚拟机挂载的目录

端口转发

config.vm.network :forwarded_port, guest: 8000, host: 8000 
这一行的意思是把对host机器上8000端口的访问请求forward到虚拟机的8000端口的服务上,例如你在你的虚拟机上使用nginx跑了一个Go应用,那么你在host机器上的浏览器中打开http://localhost:8000时,Vagrant就会把这个请求转发到VM里面跑在8000端口的nginx服务上,因此我们可以通过这个设置来帮助我们去设定hostVM之间,或是VMVM之间的信息交互。

修改完Vagrantfile的配置后,记得要用vagrant reload命令来重启VM之后才能使用VM更新后的配置

更多内容请查阅官方文档 https://www.vagrantup.com/docs/cli/index.html

注意:

Virtualbox虚拟化需要BIOS开启虚拟化支持,http://jingyan.baidu.com/article/8ebacdf0df465b49f65cd5d5.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值