iT邦幫忙

DAY 18
1

Cloud Foundry 雲端應用開發實戰系列 第 18

Cloud Foundry 雲端應用開發實戰(18/30)Node.js helper for CloudFoundry

Cloud Foundry 是開放源碼的 PaaS 解決方案,支援多種程式語言、開發框架及資料庫等服務,而且更容易開發、測試及佈署。本系列文章將從零開始,和學習者一起開啟雲端應用程式開發的大門。

使用 Node.js helper library for CloudFoundry 簡化雲端佈署參數取得方式。
前面的章節曾經提過應用程式取得各項服務參數(如資料庫連線帳號密碼等),需要使用 Cloud Foundry 透過環境變數傳遞的參數值,其資料為 JSON 格式。

為了方便參數的存取,可以使用「cloudfoundry」這個同名的 Node.js Module,它是一個 helper 的設計,也就是用來幫助開發者簡化程式的撰寫。安裝只要使用 NPM 即可:

::

npm install cloudfoundry

在 Node.js 程式碼的開頭,需要加上 require 語法。

::

var cloudfoundry = require('cloudfoundry');

如此就能輕鬆存取相關設定,例如:

::

//判斷程式是否在 Cloud Foundry 上執行(如果想讓開發和佈署不同階段分別執行不同程式)
cloudfoundry.cloud

//程式使用的 host(網址)
cloudfoundry.host

//程式使用的連接埠
cloudfoundry.port

其他相關語法還有:

::

cloudfoundry.app
cloudfoundry.services

如果你想存取服務(資料庫)的參數,使用的範例如下:

::

cloudfoundry.mongodb['service-name'].credentials.hostname
cloudfoundry.mongodb['service-name'].credentials.port
cloudfoundry.mongodb['service-name'].credentials.db
cloudfoundry.mongodb['service-name'].credentials.username
cloudfoundry.mongodb['service-name'].credentials.password

例如我們可以撰寫這個簡單的 Node.js 程式,查詢程式在 Cloud Foundry 執行使用的 IP 位址。

::

var cloudfoundry = require('cloudfoundry');

var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end(cloudfoundry.host);
}).listen(8000, '127.0.0.1');


上一篇
Cloud Foundry 雲端應用開發實戰(17/30)漫談雲端應用開發語言的選擇
下一篇
Cloud Foundry 雲端應用開發實戰(19/30)Cloud9 IDE 雲端整合開發環境
系列文
Cloud Foundry 雲端應用開發實戰31

尚未有邦友留言

立即登入留言