使用docker部署webduino编程环境

Webdunio的编程环境是开源的,代码在这里https://github.com/webduinoio/webduino-blockly,自己部署的话很简单,就当静态网站部署就行了,这个在群里验证过了。需要注意的是不能是https,炫Q提到过,经验证确实不行,主要是websocket的问题。

但是由于webduino使用了google的cdn引用jQuery所以直接用官方的编程环境会忽好忽坏,甚至需要做一些额外的工作。既然代码都开源了,那我们自己修改一下jQuery,重新部署就好了,这里我们尝试一下高级一点的docker在daocloud.io上部署一下。

一、代码调整
首先,代码fork到自己的github上。
然后,clone自己账号下的代码到本地。
在当前目录下搜索ajax.googleapis.com,有11个文件使用了,列表如下:


将全部的ajax.googleapis.com替换成ajax.useso.com,ajax.useso.com是360提供的常用前端库的CDN,这样我们使用起来就没什么问题了。
修改默认语言为简体中文
打开code.js,找到第77行,如下所示:

    lang = 'zh-hant’;

改为如下所示:

    lang = 'zh-hans’; 

接下来,考虑用doker部署。docker不熟不要紧,有了daocloud就很简单了。
官方的代码里包含dockerfile了,但是我们需要修改一下,因为官方代码的dockerfile里包含了一些原生代码编译需要的环境,我们纯粹部署在线环境的话,应该是用不到的。但是这个没验证过。另外去掉编译环境,docker部署也会快一些。
打开源代码根目录下的Dockerfile,找到第七行,如下所示:

RUN apk add --no-cache make gcc g++ python

注释掉,如下所示

#RUN apk add --no-cache make gcc g++ python

所有的改动都完成了,将代码推到github上,开始进入docker部署环节。

二、Docker部署
首先到https://www.daocloud.io/注册一个账号,进入控制台后


选择第一个,项目。


[list=1]
*]输入项目名字,比如webduino
*]设置代码源,选择github,然后点同步代码源,对daocloud授权认证,授权后如下所示:
[/list]



注意红框的部分,这里要选我们的代码,


注意选我们fork的代码。
然后点开始创建会进入项目页,如下所示



选一个分支


这里只有一个gh-pages分支,选择,然后点击手动构建。

执行完之后会有一个构建记录,如下所示:



点击查看镜像,然后点击右上角的部署,设置好应用名字,其他都按默认选项就行。
部署好之后,在应用详情里可以通过域名选项来更改二级域名,如下所示:


如果有国内备过案域名的大佬,还可以绑自己的域名。
点击http://webduino.daoapp.io访问我部署好的。

不过需要注意的是,daocloud提供的是测试环境,不保证稳定性,而且资源会回收,不过毕竟免费,回收之后再部署就好了。

三、本地部署
docker还是有些麻烦了是不是,如果装了python,进入源代码目录后直接用下面一句命令启动本地http服务,就可以访问本地部署的编程环境了。

python -m SimpleHTTPServer 9090 

在浏览器里打开http://127.0.0.1:8080/?lang=zh-hans

怎么样都行。

另外,在域名后面加?lang=zh-hans就可以使用简体中文界面里。http://webduino.daoapp.io/?lang=zh-hans

腻害腻害,能不能lang默认为zh-hans呢,毕竟在内陆

可以,我已经更新帖子了。

http://webduino.daoapp.io/

:victory:

链接报错404

学着大佬的方法,自己部属吧,比如站长的http://bpi.pub/可能也还没做本地化工作