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

根据腾讯蓝鲸蓝鲸应用统一开发环境指南手册改编发布,主要顺便记录一些趟坑的地方。

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

  • 背景
  • vagrant安装配置
  • 添加蓝鲸镜像到vagrant
  • 初始化环境
  • 运行环境,应用开发
  • Vagrant常用命令
  • Vagrantfile配置文件详解

背景

     蓝鲸应用开发需要依赖django,celery,mysql-client等第三方库,而像celery又依赖其他多个库,新手在搭建本地开发环境时,过程繁琐,问题百出。不同开发者,开发环境不同, 有window,有mac。window版本也不完全一致,开发者需要

     一个统一开发环境,方便调试。 蓝鲸提供的统一开发环境和线上使用的系统、库版本一致。想要在多平台下开发,必须依赖于虚拟环境,蓝鲸提供统一开发环境使用virtualbox做hypervisor,使用vagrant做管理工具,下面对使用方法做详细介绍。

vagrant安装配置

下面以window版本为例子,假设安装目录为D:\Program Files。
1,安装vagrant,添加D:\Program Files\Vagrant\bin到PATH环境变量
外网下载地址:https://www.vagrantup.com/downloads.html

2,安装virtualbox ,根据提示一步一步安装完成后,添加D:\Program Files\VirtualBox到PATH环境变量
外网下载地址:https://www.virtualbox.org/wiki/Downloads
在这里插入图片描述
3,安装ssh客户端(如果本地已经有,请跳过这一步)
vagrant使用ssh命令需要本地装ssh命令行客户端(注意xshell, SecureCRT等GUI等不能被使用)
下载完成后,解压到任意目录,如D:\Program Files\OpenSSH-Win32,添加到PATH环境变量
外网下载地址:https://github.com/PowerShell/Win32-OpenSSH/releases/download/5_15_2016/OpenSSH-Win32.zip
运行命令vagrant,VBoxManage(Virtualbox管理工具) 和ssh,能正常返回版本号,说明安装成功。
在这里插入图片描述

添加蓝鲸镜像到vagrant

vagrant需要基础镜像才能使用,蓝鲸已经制作好了应用开发镜像,里面包含了My-Sql, Rabbit-MQ, django等应用开发所需的环境,即开即用。
下载地址:http://bkopen-10032816.file.myqcloud.com/paas/bk-django1.8-u2.box
在这里插入图片描述
bk-django1.8.box是下载的镜像名称,bk是添加的镜像名称,注意这个后面会需要用到。

初始化环境

vagrant第一次使用需要初始化环境,如开发环境为D:\WorkStation\vagrant\django18,切换到工作目录,下文所有命令都是在工作目录下执行。
在这里插入图片描述
vagrant会在当前目录新建.vagrant目录并生成Vagrantfile配置文件,修改Vagrantfile,可以定制化vagrant,如端口映射,同步目录等
注意:

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

1.创建数据库
蓝鲸统一开发环境已经安装mariadb 5.5(兼容mysql5.5),新的应用使用需要先创建数据库
在这里插入图片描述

问题1 需要powershell 2.0以上环境
问题2 virtualbox 网络适配器没有 && VirtualBox Host-Only Ethernet Adapter 问题

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,并且指定了一个IP,IP的话建议最好不要用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服务上,因此我们可以通过这个设置来帮助我们去设定host和VM之间,或是VM和VM之间的信息交互。
修改完Vagrantfile的配置后,记得要用vagrant reload命令来重启VM之后才能使用VM更新后的配置
更多内容请查阅官方文档 https://www.vagrantup.com/docs/cli/index.html
注意:
Virtualbox虚拟化需要BIOS开启虚拟化支持,http://jingyan.baidu.com/article/8ebacdf0df465b49f65cd5d5.html

蓝鲸统一的开发平台,基于统一的Virtualbox虚拟化镜像,其中redis-server、memcached、mysql等组件

使用pycharm的 远程python环境和deployment功能可以实现远程开发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/26159.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2019 年度最受欢迎的中国开源软件出炉!!

由于对参选项目设置了分类竞争,可以看到今年获得年度最受欢迎中国开源软件的项目更加多元化,涵盖了基础软件、开发框架和基础组件、开发工具与应用软件等领域,下边来看看每一个获奖项目。 https://www.oschina.net/project/top_cn_2019 基于…

蓝鲸平台标准运维演示文档

标准运维简介: 标准运维,拥有可视化的图形界面,并进行任务流程编排和执行的系统。可以执行发布、变更、开区、扩缩容等执行类操作。让用户可以将业务日常的运维工作交给产品和职能化人员执行,实现业务的发布、变更等工作自助化。【…

蓝鲸CTF-web-密码泄露

蓝鲸CTF-web之密码泄露:题目链接 进入到题目环境之后,页面显示登陆表单和“false”字样,先猜解一些密码是什么,经过一系列的猜解之后,页面一直显示flase。此时,查看网页源代码: 源代码的注释里显…

通过蓝鲸paas平台快速实现CICD

通过蓝鲸paas平台快速实现CICD 前言第一步第二步第三步测试 前言 本文展示流程使用coding(代码管理工具,gitlab也可以)、蓝鲸paas平台(腾讯蓝鲸智云是一套基于PaaS的技术解决方案,提供了完善的前后台开发框架、调度引擎、公共组件等模块,帮助…

腾讯开源运维 PaaS 平台

蓝鲸智云(蓝鲸)是腾讯游戏运营部“腾讯智营”下的一个子品牌,它是一套基于 PaaS 的技术解决方案,提供了完善的前后台开发框架、调度引擎与公共组件等模块,可以帮助业务的产品和技术人员快速构建低成本、免运维的支撑工…

蓝鲸智云问题汇总

安装 1. 企业版,客户现场无网络环境时,安装app_mgr,会出现无法安装requirments.txt中的依赖 1.这是蓝鲸打包问题,在中控机器/data/src/paas_agent/paas_agent中创建SELF_CONTAINED_PIP_PKG即可 cd /data/src/paas_agent/paas_agent touch S…

Kubernetes - 腾讯蓝鲸配置平台(CMDB)开源版部署

Kubernetes - 腾讯蓝鲸配置平台(CMDB)开源版部署 蓝鲸CMDB 蓝鲸配置平台(蓝鲸CMDB)是一个基于运维场景设计的企业配置管理服务。主要功能: 1. 拓扑化的主机管理:主机基础属性、主机快照数据、主机归属关系管理 2. 组织架构管理&a…

开源公告|运维基础操作管理系统-蓝鲸作业平台正式开源!

蓝鲸作业平台项目背景 蓝鲸作业平台是一套运维基础操作管理系统,具备海量任务并发处理能力;除了支持脚本执行、文件分发、定时任务等一系列基础运维场景以外,还支持通过流程调度能力将零碎的单个任务组装成一个自动化作业流程;而每…

【腾讯开源项目】蓝鲸配置平台开源项目亮相北京“OSCAR开源先锋日”

我们秉承腾讯开源的理念,蓝鲸配置平台将会进一步完善各个业务领域的支持,在易用性、效率、功能深度上持续打磨,以开源分享的心态打造业界通用的业务驱动CMDB产品,凝聚IT运维圈子的同仁,共同构建一个友好、活跃的开源社…

分布式高频量化交易系统架构讲解(企业版,期货ctp,股票xtp,数字货币,附全部源码)(值得收藏)

目录 1.量化交易系统简介 1.1行情数据 1.2交易策略 1.3交易 2. 分布式高频量化交易系统 2.1. 架构图 2.1.1量化交易系统教程地址 2.1.2量化交易系统教程中讲解的期货ctp知识点 2.2. 交易系统功能介绍 2.3. 账户系统介绍 2.3.1. 交易员账户 2.3.2. …

记中科院ChatGPT 学术版部署时出现:ModuleNotFoundError: No module named ‘gradio‘

出现此问题的原因是因为gradio版本和目前某些软件包出现版本不兼容的问题,我试了两次安装全部的包然后运行项目均会出现如下报错ModuleNotFoundError: No module named gradio,于是先用requirements.txt文件把其他包都给装上,再使用pip直接安…

Python + ChatGPT,简直太好用了!

前言 近来chatGPT挺火的,也试玩了一下,确实挺有意思。这里记录一下在Python中如何去使用chatGPT。 知识点📖📖 pip install openai看看 chatGPT的表现: 使用python编写一段发送网络请求的代码 python如何md5 也有抽…

Java初级程序员与ChatGPT(文心一言)使用感受

前言: 随着23年三月初开始ChatGPT迅速发展,爆红网络。也有不少人说这个东西会顶替程序员。刚好身边同事有一个需要是读取word文档中的内容,保存到数据库。 我们就用百度的文心一言试下吧。 交互开始: 总的来说从提问到问题的反馈…

让资深猎头-GPT帮你修改简历,Get 心动的offer

正文共 1391 字,阅读大约需要 4 分钟 求职者必备技巧,您将在4分钟后获得以下超能力: 根据JD修改简历 Beezy评级 :B级 *经过简单的寻找, 大部分人能立刻掌握。主要节省时间。 推荐人 | Kim 编辑者 | Linda ●图片来源…

一位大佬的亲身经历总结:告诉大家写简历和面试的技巧

点击上方 "code小生" ,关注公众号 8点40分,在看真爱 来自:hsm_computer | 责编:乐乐 链接:cnblogs.com/JavaArchitect/p/10720897.html 00 前言 在18年底到19年3月,陆续面试了几家公司&#xf…

教你写出会说话的【数据分析岗】简历

秋招来势汹汹,有些学弟学妹私下问了我很多简历相关的问题。 总结来看,他们碰到的情况如下: ▶ 明明专业学历过关,实习经验丰富,有些大厂的简历关都未能通过? ▶ 身边的同学明明经历和经验不如自己&#xff…

安卓面试中高级安卓开发工程师总结之——如何写一份让HR主动邀请你面试的简历

简历是用人单位做人事筛选的评判标准。如何让自己的简历被更多公司HR看到,并且通过技术部简历初步审核呢? 博主这次跳槽,只投过一次8个公司(小公司)的简历。然后就再也没有主动投递过简历,仅仅把自己的简历…

最近去TalentOrg投简历,接到了面试内容跟大家分享一下

TalentOrg,一个远程办公雇佣中介,通过国内协调x国外雇佣的方式达成目标 背景介绍第一轮:海选来源筛选 第二轮:笔试上传简历远程办公测试代码挑战技术栈测试我的选择关于违规测试结果 个人资料 第三轮:面试通知面试面试…

chatgpt赋能python:Python编程游戏

Python编程游戏 Python是一种简单易学的编程语言,非常适合初学者和有经验的开发人员制作游戏。在这篇文章中,我们将介绍如何使用Python编写游戏,并为搜索引擎优化做出努力。 简介 Python是一种高级编程语言,具有易于阅读的语法…

个人简历制作时的自我评价应该怎么写?

在进行简历表格制作的时候,大部分简历模板上都有一项是自我评价,其实在实际的投递简历招聘的过程中,如果应聘者的自我评价写的比较好,可以起到加分的作用,但是如果写的没有特色,只是从网上找的一些套话放在…