次のネタの前フリとしてCFコマンドの導入について書きます。
BluemixはWeb画面で一通りの操作ができますが、CFコマンドでしか出来ない操作があったり、CFコマンドの方が確実に動作したりします。
この記事は「CFコマンドを導入するなら新規アプリを作るのが簡単で早いよ」と言うネタです。
#新規アプリの作成
まずはダッシュボードのアプリの作成をクリックします。
アプリケーションは何でも良いです。ここではNode.jsを選びました。
名前を決めます。他の人と重複した名前は付けられません。
作成が完了しました。
#CFインストールガイドの表示
この記事のポイントはココ、このページにはCFコマンドのインストールからログイン、サンプルアプリの更新までの手順が自分のアカウント応じた内容で表示してくれます。クリップボードへのコピーも付いてますから打鍵ミスの心配もありません。ユーザーに合わせたガイドを提供するのは紙の手順書には出来ない新しくて素敵な仕組みだと思います。
#CFコマンドのインストール
折角なのでインストールの手順も書いておきます。
CFコマンドのダウンロードボタンを押すとダウンロードページが開くので環境に合わせた物をダウンロードします。私はWin7 64bitなので図のインストーラーを選びました。
インストーラーはzip形式なので展開し、cf_installer.exe
を実行します。
インストーラーが起動するので、導入先を覚えておきましょう。
#CFコマンドの起動~疎通確認
手順に従い、まずはスターターコードをダウンドーロし、zipを展開します。
コマンドプロンプトを開き展開先に移動します。NodeJsの初期アプリは図の様な構成です。
手順4,5でCFコマンドを使用してbluemixに接続します。(自分の画面に従って入力して下さいネw)
手順6でアプリケーションをデプロイするとあります。まず変更前の表示を確認しておきましょう。
次にダウンロードしたファイルを編集してみます。public/index.html
の"Hi there!"の部分を"Hi Yamazaki!!"に書き換えてみます。
保存したらpushしてみます。
Using manifest file C:\_wk\NodeJs002\manifest.yml
Updating app NodeJs002 in org hyamazak@jp.ibm.com / space dev as hyamazak@jp.ibm.com...
OK
Using route nodejs002.mybluemix.net
Uploading NodeJs002...
Uploading app files from: C:\_wk\NodeJs002
Uploading 18.7K, 10 files
Done uploading
OK
Stopping app NodeJs002 in org hyamazak@jp.ibm.com / space dev as hyamazak@jp.ibm.com...
OK
Starting app NodeJs002 in org hyamazak@jp.ibm.com / space dev as hyamazak@jp.ibm.com...
-----> Downloaded app package (20K)
-----> Downloaded app buildpack cache (636K)
-----> IBM SDK for Node.js Buildpack v2.7-20151118-1003
Based on Cloud Foundry Node.js Buildpack v1.5.0
-----> Creating runtime environment
NPM_CONFIG_LOGLEVEL=error
NPM_CONFIG_PRODUCTION=true
NODE_MODULES_CACHE=true
-----> Installing binaries
engines.node (package.json): 0.12.x
engines.npm (package.json): unspecified (use default)
Resolving node version 0.12.x via 'node-version-resolver'
Installing IBM SDK for Node.js (0.12.7) from cache
Using default npm version: 2.11.3
-----> Restoring cache
Loading 1 from cacheDirectories (default):
- node_modules
-----> Building dependencies
Pruning any extraneous modules
Installing node modules (package.json)
-----> Installing App Management
-----> Caching build
Clearing previous node cache
Saving 1 cacheDirectories (default):
- node_modules
-----> Build succeeded!
├── cfenv@1.0.3
└── express@4.12.4
-----> Uploading droplet (14M)
0 of 1 instances running, 1 starting
1 of 1 instances running
App started
OK
App NodeJs002 was started using this command `./vendor/initial_startup.rb`
Showing health and status for app NodeJs002 in org hyamazak@jp.ibm.com / space dev as hyamazak@jp.ibm.com...
OK
requested state: started
instances: 1/1
usage: 256M x 1 instances
urls: nodejs002.mybluemix.net
package uploaded: Fri Dec 4 04:28:21 UTC 2015
stack: cflinuxfs2
buildpack: SDK for Node.js(TM) (ibm-node.js-0.12.7)
state since cpu memory disk details
running 2015-12-04 01:29:10 PM 0.0% 70M of 256M 54.1M of 1G
C:\_wk\NodeJs002>
無事デプロイが終わりました。ブラウザを再表示するとちゃんと書き換わってます♪
#と言うことで
後半はオマケですが、CFコマンドをインストールする際は新規アプリを作って指示取りに疎通確認まで済ませるのが簡単ですよと言うネタでした。