-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_CloudFoundryFirstStep
-
戻る
- Cloud Foundryファースト・ステップ(本ページ)
- Cloud Foundryセカンド・ステップ
IBM Cloud (Bluemix)を使用することにしました。
- IBM Cloudでアプリケーションを作ろう - Japan
https://www.ibm.com/cloud-computing/jp/ja/bluemix/developerslounge/makingapp/
メモ・アプリ
- メモを登録・削除できる。
- Cloudant(CouchDB)に永続化
事前に以下を行っておく。
-
IBM Cloud (Bluemix)ポータルにサインアップ(ライト・アカウント)
- IBM Cloud に登録
https://console.bluemix.net/registration/free
- IBM Cloud に登録
-
IBM Cloud CLIのインストール(Win版)
-
IBM Cloud Developer Tools 概要
https://clis.ng.bluemix.net/ui/home.html- PowerShellでインストール
- cmdで「ibmcloud」が動くか確認
(別名、ic, bluemix, bxで利用可能)
-
-
Gitクライアントのインストール
-
ポータルにサインインして、「組織」と「スペース」、場所を「米国南部」に設定。

-
[アプリの作成]ボタンを押下して、遷移後、[カタログ]のリンクを押下。
-
[Cloud Foundryアプリ]カテゴリの[SDK for Node.js]を押下。
-
アプリ名に「MemoApp」、ホスト名に他と重複の無い任意の値を入力し[作成]ボタンを押下。
- ホスト名:daisukenishino とした。
- 価格プラン:256MB とした。
-
作成されたアプリの画面に遷移して
[アプリ URL にアクセス]リンクを押下すると、
アプリのエンドポイントにアクセスできる。
-
以下のURLでGitクローンする。
https://github.com/isebm/first-bluemix-application.git-
Gitクライアント
>git clone https://github.com/isebm/first-bluemix-application.git -
TortoiseGitでもOK
-
-
first-bluemix-applicationディレクトリ以下にクローンされる。
取得したコード内に含まれるmanifest.ymlを書換る。
applications:
- name: MemoApp
disk_quota: 1024M
memory: 256M
host: daisukenishino
domain: mybluemix.net
command: node app.js
path: .
instances: 1
- 参考
- About IBM Cloud Foundry Enterprise Environment
https://console.bluemix.net/docs/cloud-foundry/index.html#appmanifest
- About IBM Cloud Foundry Enterprise Environment
-
first-bluemix-applicationディレクトリにcdし、
>cd ...first-bluemix-application -
IBM Cloud CLIを利用し、IBM Cloudにログイン
-
既定の手順でPWDがうまく入力できなかったので、
以下の参考手順でAPIキーでログインする。>bluemix login --apikey <発行したAPIキーのストリング> -
組織とスペースを指定する。
-
とあるので、
>bluemix target -o <組織名> -s <スペース名> -
と指定した。
>bluemix target -o daisukenishino77@gmail.com -s dev
-
-
-
first-bluemix-applicationディレクトリでapp push
(cfコマンドがラップされているようで、直接触れない模様)>bluemix app push 'cf push' を起動しています... -
失敗したらログ確認(成功してもログ確認)
>bluemix app logs MemoApp --recent -
参考
- Bluemixログイン処理を早速APIキーで行ってみる
https://qiita.com/Ra1nmaker/items/b2755391bcef7b8a2335
- Bluemixログイン処理を早速APIキーで行ってみる
-
成功の状態で、
前述の[アプリ URL にアクセス]リンクを押下すると、
MemoApp のエンドポイントにアクセスし動作確認できる。 -
なお、この状態では、
オンメモリで処理されており、永続化されていないようで、
ポータルからアプリを再起動すると登録内容がクリアされる。
- 前述のMemoAppの永続化を可能にする(アプリを再起動しても消えなくなる)。
- Cloudant NoSQLとは、Apache CouchDBというJSONデータベースをベースとしているらしい。
-
前述の手順と同様に、[カタログ]のリンクを押下、
[データ & 分析]カテゴリの[Cloudant NoSQL DB]を押下。 -
サービス名を「Cloudant NoSQL DB-memo」に変更し[作成]ボタンを押下。
-
そのままCloudant Webコンソールの起動する。
または、ポータルトップから確認できるリソース一覧から、
先ほど作成した「Cloudant NoSQL DB-memo」を押下する。 -
遷移後、[LAUNCH CLOUDANT DASHBOARD]ボタンを押下。
- [データベースのマーク]ボタンを押下し、[Create Database]ボタンを押下。
- ポックアップにデータベース名を「memo」と入力し[Create]ボタンを押下。
Viewとは、Cloudant(CouchDB)の機能らしい。
- [データベースのマーク]ボタンを押下し、
- [Design Documents]メニューの「+」ボタンを押下。
- [New View]を選択し、遷移した画面で、
-
必要な情報を入力する。
-
Design Document名(_design/):「memos」
-
index name:「list」
-
Map Function:以下のスクリプトを貼り付け。
function(doc) { var row = { id : doc._id, title : doc.title, updatedAt : doc.updatedAt }; emit(doc.updatedAt, row); }
-
-
入力完了後、[Create Document and then Build Index]を押下。
-
manifest.ymlにCloudantのサービス名を追加
services:
- Cloudant NoSQL DB-memo
package.jsonのdependenciesセクションにcradleを追加
"cradle": "~0.6.7"
「reference/cloudant/memo.js」→「models/memo.js」に置換。
...\first-bluemix-application\referenceの、
-
memoryにオリジナル・ファイルが格納されている。
-
cloudantに変更後ファイルが格納されている。
従って、書換ではなく、置換でも良いが、その際は、
ココでの変更内容をマージする必要がある。
-
first-bluemix-applicationディレクトリでapp push
(cfコマンドがラップされているようで、直接触れない模様)>bluemix app push 'cf push' を起動しています... -
失敗したらログ確認(成功してもログ確認)
>bluemix app logs MemoApp --recent
-
成功の状態で、
前述の[アプリ URL にアクセス]リンクを押下すると、
MemoApp のエンドポイントにアクセスし動作確認できる。 -
これにより、
- ポータルからアプリを再起動しても登録内容がクリアされなくなる。
- 以下でデーターベースに永続化されたデータを確認できる。
-
ダッシュボード - IBM Cloud
https://console.bluemix.net/dashboard/apps/ -
IBM Cloud Developer Tools 概要
https://console.bluemix.net/docs/cli/index.html -
Node.jsのHello WorldプログラムをIBM Bluemixで動かしてみる
https://qiita.com/asmanabu/items/30028a8ecafdb041aefc
移行メモ
- 「戻る」の並びにある「Cloud Foundryファースト・ステップ」は自ページのため、 その旨を補った。
- 元 Wiki では見出しそのものが他ページへのリンクになっていた箇所 (「セカンド・ステップ」)は、GitHub Wiki では見出しからアンカが 生成されるため、見出しをプレーン・テキストとし、リンクは直下の本文に置いた。
- 同名の見出し(「リソースの作成」「アプリケーションの動作確認」)が 複数あり GitHub Wiki でアンカが衝突するため、括弧で文脈を補って一意にした。
- PukiWiki のページ内アンカ(
#xxxxxxxx)は GitHub Wiki では再現できないため、 同一ページ内のアンカは見出しから生成されるアンカに張り替えた。- 元 Wiki の行頭空白によるプレフォーマット・ブロックは、 フェンス付きコードブロックにした。
- 本文中のメールアドレスは元 Wiki のまま残した。
Tags: 移行, Cloud Foundry, IBM Cloud, Bluemix, Node.js, Cloudant, CouchDB, manifest.yml, デプロイ
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。