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');