簡體   English   中英

為什么我的LoopBack / Node應用程序沒有在Bluemix中部署工具鏈上獲取環境變量?

[英]Why isn't my LoopBack/Node app getting environment variables on a toolchain deploy in Bluemix?

我試圖通過Bluemix上的工具鏈部署我的LoopBack / Node.js應用程序。 我正在嘗試在我的datasources.production.js文件中使用VCAP_SERVICES 我的問題似乎與部署期間無法訪問任何環境變量有關。

我可以在部署期間的日志輸出中看到已設置NODE_ENV,但是LoopBack加載了我的datasources.local.js文件,而不是生產文件。 而且我的console.log中的NODE_ENV表示未定義。 我的任何JSON.parse(process.env.VCAP_SERVICES) console.log都將生成{}

我還可以在Bluemix UI中看到我的應用程序綁定了VCAP_SERVICES。

我一直在修改此提交,但是您可以在此處看到我要執行的操作,包括console.log調用。 https://github.com/StrongLoop-Evangelists/band-app/commit/95640d3ffc7cd9e7553062f7a1b8c66ef0fc2815

這是相關的console.log輸出:

2017-05-08T15:38:22.67+0000 [APP/0]      OUT ---datasources.local.js---
2017-05-08T15:38:22.67+0000 [APP/0]      OUT ---env.js---
2017-05-08T15:38:22.67+0000 [APP/0]      OUT in VCAP if check
2017-05-08T15:38:22.67+0000 [APP/0]      OUT VCAP:  {}
2017-05-08T15:38:22.67+0000 [APP/0]      ERR console.log('NODE_ENV: ', NODE_ENV);
2017-05-08T15:38:22.67+0000 [APP/0]      ERR                           ^
2017-05-08T15:38:22.67+0000 [APP/0]      ERR ReferenceError: NODE_ENV is not defined

Joe:如果您將交付管道用作Bluemix中的工具鏈的一部分來部署雲鑄造應用程序,那么您需要了解一點。

在舞台上設置“環境屬性”不會自動將其傳遞給cf應用程序。 它僅使它們可用於進行部署的管道。 要同時在cf應用中設置這些設置,您需要執行cf set-env。 例如:

cf set-env myApp $MY_ENV_VAR

我的問題與manifest.yml有關。

這讓我失望了:

---
applications:
  - name: Band-App
    memory: 256M
  - services:
    - bandapp-cloudantdb

這工作:

name: Band-App
memory: 256M
services:
  - bandapp-cloudantdb

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM