安装和部署 cloud9 云端开发环境
简介
Cloud9 是亚马逊发布的一款基于云端的开发环境。
AWS Cloud9 是一种基于云的集成开发环境 (IDE),您只需要一个浏览器,即可编写、运行和调试代码。它包括一个代码编辑器、调试程序和终端。
Cloud9 预封装了适用于 JavaScript、Python、PHP 等常见编程语言的基本工具,您无需安装文件或配置开发计算机,即可开始新的项目。
Cloud9 IDE 基于云,因此您可以从办公室、家中或任何地方使用已连接 Internet 的计算机完成项目。
Cloud9 还可以为开发无服务器应用程序提供无缝体验,使您能够轻松定义资源、进行调试,并在本地和远程执行无服务器应用程序之间来回切换。
借助 Cloud9,您可以与团队快速共享开发环境,从而能够将程序配对,并实时跟踪彼此的输入。
上文摘自 AWS Cloud9 集成开发环境
亚马逊在 github 上开源了 Cloud9,因此我们可以在自己的环境中部署Cloud9。
准备
环境
实际上 Cloud9 只需要 nodejs 环境支持就行。
我用的是 docker 容器,镜像用的是 docker.io/ubuntu。
在 docker 上的部署过程应该和宿主机是一样的。
材料
我们需要 Cloud9 本身:Cloud9 Core
正如其名,这是 Cloud9 的核心程序。提供了 Cloud9 的核心功能(云端IDE)
安装
配置操作系统
由于我用的是一个裸的 ubuntu 镜像,所以需要先更新一下。
apt-get update -y
apt-get upgrade -y
我们至少需要先安装 git,以便进行接下来的部署工作。
apt-get install git -y
下载
首先我们从 https://github.com/c9/core 下载(clone)项目到本地
git clone https://github.com/c9/core.git cloud9
进入 cloud9 目录,有如下内容:
CODE_OF_CONDUCT.md LICENSE-COMMERCIAL-USE bin docs package.json server.js user-plugins
CONTRIBUTING.md NOTICE build local plugins settings
LICENSE README.md configs node_modules scripts test
其中 server.js
就是主程序(入口?),但是现在还不能运行,因为缺少必要环境。
安装部署
在 scripts/
中有一个 install-sdk.sh
,我们运行一下它,它会进行必要的软件安装和配置。
需要先安装一些工具:
apt-get install curl wget python2.7 gcc make -y
然后运行脚本(陷入漫长的等待)
./scripts/install-sdk.sh
最后会看到如下输出,表示安装完成。
Success!
run 'node server.js -p 8080 -a :' to launch Cloud9
运行
事实上,安装已经完成,按照提示启动就可以了。但是由于缺少 nodejs 环境,直接按照提示操作,会得到 “找不到 node 命令” 的错误。
其实,安装脚本已经安装好了运行环境。这个脚本运行完成后,会在用户根目录建立 .c9
文件夹,这里有启动 Cloud9 的必要环境(包括Nodejs)。
此时,还是在 cloud9
这个目录里,运行
~/.c9/node/bin/node server.js --help
如果安装没问题,就能正常运行且能看到帮助文档。
运行的话,基本命令如下:
~/.c9/node/bin/node server.js -l 0.0.0.0 -p 8080 -a username:password
在 8080 端口启动服务,并且增加 HTTP 基本认证。
看到如下回显,则表示启动成功。
Cloud9 is up and running
使用
直接在浏览器中通过你指定的 IP 和端口打开网页,就能看到 Cloud9 的主界面。基本就是一个一般的 IDE 界面。
你可以通过在界面上操作,对 IDE 进行详细的配置。
体验
使用体验相当好,我只尝试了 c/c++ 和 python,体验基本和无配置的Notepad++相当。也可能是我没配置好?
不足之处
这里的不足之处,主要是指本地部署的问题。毕竟
- 工作空间只能指定一个目录(不方便)
- 用户验证只提供HTTP基本认证(超级不安全)
- 在界面上打开的任何终端,都和运行 Cloud9 的用户拥有相同权限(不安全)
- 只提供了基于文件和目录的管理功能,没有基于项目或者解决方案的管理操作(不方便)
- 其他
事实上,只要直接使用亚马逊提供的服务,上述问题根本不存在……若是肯花点钱,体验可以更上一层楼……
原文发布于 https://blog.moonlightwatch.me/linux/2018/08/15/install-cloud9/