IBM Cloud(旧Bluemix)
heroku以外の選択肢はないかなーと思っていろいろ探してたけど、
料金体系も変わって結局herokuに落ち着くのかね。
でも別のサービスも使ってみたい、ってことで旧Bluemix使ってExpressをデプロイする方法を調べてみた。
何十番煎じ?
紹介している人は何人もいたけど、キャプチャ古かったり(Bluemixのままだったり)したので、
IBM Cloudのバージョンでやってみた。
環境
Ubuntu 16.04LTS 64bit
前提
デプロイするプログラムは事前に準備してください。
npm -g express-generatorでジェネレータインストールして、
適当なファイルにExpress.jsを初期状態を作っとく。
2分ぐらいで終わる。
IBMクラウド ライト・アカウントの登録
https://www.ibm.com/cloud-computing/jp/ja/bluemix/lite-account/
こちらのページからライトアカウントを登録していく。
ライト・アカウントを今すぐ登録を選択
- メールアドレス
- 前に実施してた30日間無料お試しプランに登録してたメールアドレスは使えないみたい
- 名前
- 性
- 会社名(任意)
- 国または地域
- パスワード
を入力
最後のチェックボックスはチェックしなくてもいい。
入力が完了したらアカウントの作成を選択。
登録確認メールが送信されるので、メールを確認。
URLにジャンプするとアカウントが有効になる。
IBMクラウドにログイン
https://www.ibm.com/account/jp/ja/
上のページ飛んで、サインインを選択し、
メールアドレス、パスワードを入力しサインインを完了する。
初回ログインに限りこんな画面が出るかもしれないので、Proceedを選択。
IBMCloudの起動を選択。アクセスしたURLによって英語と日本語の両パターンあるかも。
この画面が出てきたらアカウント作成は完了。
続いてプログラムをデプロイしていく。
cfのインストール
下記URLにジャンプ。
https://docs.cloudfoundry.org/cf-cli/
[Installing the cf CLI]からDebian/Ubuntu用の.debファイルのリンクがあるので選択してダウンロード。
ダウンロードが完了次第パッケージをインストール。
すると、cfコマンドが使えるようになるはず。
$ cf -v
cf version 6.36.1+e3799ad7e.2018-04-04
コマンドが無いよとか怒られなければ完了。
デプロイ
まずはAPIのエンドポイントを指定。
$ cf api https://api.ng.bluemix.net
続いてibmcloudのアカウントでログイン。
$ cf login
メールアドレスとかパスワードとか聞いてくると思うので、登録したアカウントでログインする。
次にルートディレクトリにmanifest.ymlファイルを作成する。
---
applications:
- name: sample-express
memory: 128M
host: sample-express
manifest.ymlの詳細はここでは割愛します。(というかよく調べて無い)
名前とホスト名をユニークにしとけばとりあえずOKっぽい。
最後にibmcloudにpushして終了。
$ cf push
(manifest.ymlが自動的に読み込まれる)
これでexpressのサンプルページにアクセスできるようになっていると思います。