2017-04-05 15 views
0

Bluemixの私のアプリケーションが古い(間違った)バージョンのコードを実行しているという印象があります。私はいくつかのアップデートを行いましたが、今ではアプリケーションがデプロイされず、起動も開始されません。ログファイルをチェックすると、サポートされなくなったExpressミドルウェアの変更によるいくつかのエラーが表示されます。たとえば、bodyParserをbody-parserに置き換えるなど、外部コンポーネントに置き換える必要があります。私はこれらの変更をexpress.middlewarenameをこのページの新しいコンポーネントに置き換えました:https://github.com/senchalabs/connect#middlewaregit force pushの後でも間違ったコードでのアプリケーション

しかし、アプリケーションをデプロイしようとすると、まだログファイルにエラーメッセージが表示されています。メッセージは次のとおりです。

throw new Error('Most middleware (like ' + name + ') is no longer bundled with 
Express and must be installed separately. Please see 
https://github.com/senchalabs/connect#middleware.'); 
2017/4/5 午後2時42分48秒 ERR APP at Function.Object.defineProperty.get 
(/home/vcap/app/node_modules/express/lib/express.js:107:13) 
2017/4/5 午後2時42分48秒 ERR APP at Module._compile (module.js:409:26) 
2017/4/5 午後2時42分48秒 ERR APP at Object.Module._extensions..js (module.js:416:10) 
2017/4/5 午後2時42分48秒 ERR APP at Module.load (module.js:343:32) 

私のマシンでアプリケーションを実行することができます。コンパイルパイプラインからコードをダウンロードしても、うまくいきます。しかし、いくつかのエラーがあります。これは、ファイル内のコメントまたは空白行のコード行を指しています。 これらの問題はすべて、私がBluemixが間違ったバージョンのコードを導入しようとしていると考えています。 どのように私はそれを修正することができます知っていますか? ありがとうございます。

+0

あなたはそれが古いコードを持っている場合は推測する必要はありません - することができます 'CFのsshのAppName' をチェック。本番環境への変更を取得するには、hub.jazz.netからデプロイする必要があります。 – amadain

+0

cf sshが現在動作していません。何らかの理由で次のようなエラーが発生します。 SSHセッションの割り当てに失敗しました:ssh:チャンネルオープンに応答する予期せぬパケット: ビルドパイプラインにdeploy.jazz.netを使用しています。コードの最新バージョンを取得するためにコンパイル/ビルドとデプロイメントを強制する方法がありますか? ありがとうございます。 –

答えて

0

まず、すべてのノードプロセスが強制終了されていることを確認してください。

Linuxでは、ps aux | grep nodeを使用して確認できます。

その後、npmを再構築します。 "npm build"コマンドを使用します。

サーバーを起動すると動作します。

+0

しかし、どのようにbluemixでそれを行うには?それは自動でなければなりません、実際には私はそれがすべてであると信じていますが、コードの古い(非常に古い)バージョンを使用するように見えます。 私はgluからbluemixにコードの最後のバージョンを強制的に引き渡す方法を探しています。 ありがとうございます。 –

0

あなたはいくつかすることができます 1. git commitタグをエンドポイントの一部として追加します。 Mavenやその他のビルドツールはこの機能を備えており、特にマイクロサービスアーキテクチャにとっては優れた方法です。春には1つしかありません。ノードに似たようなものがなかったら私は驚くでしょう。これは私が簡単な検索で見つけたものです。 [1] 2. cf $ $ {app_name}を実行してから、アプリをもう一度押します。 3.マニフェストファイルを使用している場合、またはcf pコマンドを使用している場合は、展開するアプリケーションへのパスを指定してください。 CF上のノードには他にもいくつかの微妙な違いがありますが、アプリケーションのデプロイ時にビルドパックに開始スクリプトを割り当てることもできます。

こちらがお役に立てば幸いです。

[1] https://github.com/ktoso/maven-git-commit-id-plugin/

関連する問題