自己的雲端IDE自己架

【「自架」經典雲端IDE - Cloud9】


封面

Cloud9 擁有強大的語言支援,重點是還內建終端介面,讓你能夠立刻調適你的 code,不僅如此還擁有 debugger,在編輯器內設定中斷點,直接在 IDE 中 dubug。

我自己在外面也會使用它來 coding,因為自己常常會跑咖啡館或是在戶外打發時間,而且自己有不同機器,需要一個能解決異地檔案同步的方法,那不如把專案統一在雲端,自己辦個便宜的吃到飽(288),這樣就能完全解決問題了。 (笑)

當然你也可以直接使用 Cloud9 公司提供的平台,不過它相依於你專案的 Git,使用平台必須擁有 git 才能建立專案,還好 c9 是個開源專案(笑again),讓我們能夠自己架設在自己的機器上。

簡介可以參考別人的文章維基

🔸使用需求

  1. 有多部開發機器,想解決檔案異地同步問題
  2. 常常趴趴走

🔸自己架 c9 的優勢

  1. 檔案放自己家裡,你放心我放心
  2. 可以直接編輯自己主機內的文件
  3. 方便在網頁中操作自己主機的終端

🔸架設方式

Cloud9 是個開源專案,所以我們可以直接下載下來直接使用。

1
2
3
git clone git://github.com/c9/core.git c9sdk # 下載專案
cd c9sdk # 進入專案目錄
scripts/install-sdk.sh # 讓他跑些安裝

開啟步驟也很簡單

1
node server.js

Cloud9也有許多參數可以調適

1
2
3
4
5
6
7
8
9
10
11
12
13
14
--settings 指定設定檔
--help 顯示可以使用的指令
-t 使用測試模式開啟
-k Kill tmux server in test mode
-b Start the bridge server - to receive commands from the cli [default: false]
-w 工作目錄
--port Port
--debug 開啟 dubugging
--listen 這個 server 的 IP 位址
--readonly 以唯讀模式開啟
--packed Whether to use the packed version.
--auth 基本授權方式,也就是設定帳號密碼,格式是 username:password
--collab Whether to enable collab.
--no-cache Don't use the cached version of CSS

啟動後直接在瀏覽器開啟 http://localhost:8181,當然也可以打開防火牆的 port,讓我們可以在外地遠端使用。

🔸加上 SSL 憑證

這部分官方沒有在文件中提及,但可以在 issue 中找到方法。

在 c9 目錄中,找到 configs/standalone.js,在 plugins 陣列中,找到有 packagePath: "connect-architect/connect" 這個欄位的物件,然後在這個物件中加上

1
2
3
4
5
secure: {
// 放上憑證
key: require("fs").readFileSync('/path/to/key.pem'),
cert: require("fs").readFileSync('/path/to/cert.pem')
}

重新啟動 c9 後,您的 c9 IDE 網址就會從 http 改成 https 囉。

🔸搭配 pm2

因為我自己使用 pm2 作伺服器管理,所以稍微介紹一下方法

在 c9 目錄底下建立 ecosystem.config.js 文件,內容放上

1
2
3
4
5
6
7
8
9
module.exports = {
apps : [
{
name : "c9",
script : "server.js",
args : "-l <IP 位址> -a <帳號>:<密碼> -w <工作目錄>"
}
]
}

以後就直接在 c9 目錄底下下「pm2 start ecosystem.config.js」就OK了。

🔸加上 wakaTime - coding time 的紀錄工具

wakatime 也有支援 cloud9 喔