今まで問題なくBluemixにアップロード(cf push)できていたのに突然エラーでアップロードできなくなった。
結論から言うと、最新の CFコマンドラインインターフェースをインストールすること。
cf logs AppName --recent fatal error: unexpected signal during runtime execution
GoのErrorだったので、ハマっていたが何てこと無い。
今まで問題なくBluemixにアップロード(cf push)できていたのに突然エラーでアップロードできなくなった。
結論から言うと、最新の CFコマンドラインインターフェースをインストールすること。
cf logs AppName --recent fatal error: unexpected signal during runtime execution
GoのErrorだったので、ハマっていたが何てこと無い。
ローカルの開発環境では、気にせずにDBマイグレーションを行える。
下記は、Blumix上でのマイグレーションの方法の覚え書き。
cf push AppName -c "bundle exec rake db:migrate" cf push AppName -c "null"
ローカルの開発環境では、rake db:migrate はコマンド打てば簡単だが、Bluemix等のクラウド環境でのコマンドの実行方法が不明であった。どうやら、push するタイミングで下記のように -c オプションで可能なようだ。
$ cf push <appname> -c "bundle exec rake db:migrate"
DBを見ると、うまくマイグレーションされているようだが、その後アプリが、下記のエラーで起動しない。
ERR Instance (index 0) failed to start accepting connections
調べてみると、先ほど指定したオプションが邪魔しているようで、nullでクリアする必要があるようだ。
$ cf push <appname> -c "null"
その後、cf push で、普通通りにアプリがデプロイされて起動できた。
社内のProxy環境から、BluemixのGitレポジトリへアクセスしcloneする方法の覚え書き。
C:\Works>git config --global https.proxy https://proxy.server:8080 C:\Works>git config --global http.proxy http://proxy.server:8080 C:\Works>git clone https://hub.jazz.net/git/xxxxx/ProjectName Cloning into 'ProjectName'... Username for 'https://hub.jazz.net': xxxxx Password for 'https://xxxxx@hub.jazz.net': remote: Counting objects: 20, done remote: Finding sources: 100% (20/20) remote: Total 20 (delta 0), reused 20 (delta 0) Unpacking objects: 100% (20/20), done. Checking connectivity... done.
デプロイ後に、下記のインスタンス起動メッセージが繰り返されている場合、起動するポートを確認してみよう。
Bluemixはデフォルトで、80番ポートを開放しているはずなので、別のポートで起動しようとすると下記のエラーが出る。
0 of 1 instances running, 1 starting 0 of 1 instances running, 1 down 0 of 1 instances running, 1 down 0 of 1 instances running, 1 down
会社内は、proxyが設定してある為、環境変数にプロキシサーバ設定を行う。
C:\Users\whoocus>set http_proxy=http://10.10.10.1:8080 C:\Users\whoocus>set https_proxy=http://10.10.10.1:8080
上手く設定したらBluemixサイトにcfツールにてアクセスする。
C:\Users\whoocus>cf api https://api.ng.bluemix.net Setting api endpoint to https://api.ng.bluemix.net... OK API endpoint: https://api.ng.bluemix.net (API version: 2.40.0) Not logged in. Use 'cf login' to log in.
ログインが必要なので、登録してあるIDとパスワードを打ち込む。
C:\Users\whoocus>cf login API endpoint: https://api.ng.bluemix.net Email> xxx@xxxx.co.jp Password> Authenticating... OK Targeted org xxx@xxxx.co.jp
自分の場合、スペースを2つ作成しているので、その場合はデプロイするスペースを選択する。
Select a space (or press enter to skip): 1. Space1 2. Space2 Space> 2
こんな感じ。