在将ember-cli deploy插件成功部署到我们的AWS开发环境中时遇到问题。
管道似乎出现故障,导致以下两个错误之一:
...
- build ok
|
+- didBuild
|
+- willPrepare
|
+- prepare
| |
| +- revision-data
- creating revision data using `version-commit`
- generated revision data for revision: `0.1.9+4a4f79a3`
|
+- didPrepare
|
+- fetchInitialRevisions
| |
| +- s3-index
|
+- didFail
CredentialsError: Missing credentials in config
CredentialsError: Missing credentials in config
at ClientRequest.<anonymous> (/Users/certus/Desktop/branz-web/node_modules/aws-sdk/lib/http/node.js:83:34)
at Object.onceWrapper (events.js:293:19)
at emitNone (events.js:86:13)
at ClientRequest.emit (events.js:188:7)
at Socket.emitTimeout (_http_client.js:679:10)
at Object.onceWrapper (events.js:293:19)
at emitNone (events.js:86:13)
at Socket.emit (events.js:188:7)
at Socket._onTimeout (net.js:352:8)
|
Pipeline aborted
或者:
...
- build ok
|
+- didBuild
|
+- willPrepare
|
+- prepare
| |
| +- revision-data
- creating revision data using `version-commit`
- generated revision data for revision: `0.1.9+4a4f79a3`
|
+- didPrepare
|
+- fetchInitialRevisions
| |
| +- s3-index
events.js:163
throw er; // Unhandled 'error' event
^
Error: connect EHOSTUNREACH 169.254.169.254:80 - Local (192.168.20.110:64572)
at Object.exports._errnoException (util.js:1050:11)
at exports._exceptionWithHostPort (util.js:1073:20)
at internalConnect (net.js:889:16)
at lookupAndConnect (net.js:977:5)
at Socket.realConnect (net.js:945:5)
at Agent.connect [as createConnection] (net.js:77:22)
at Agent.createSocket (_http_agent.js:195:26)
at Agent.addRequest (_http_agent.js:157:10)
at new ClientRequest (_http_client.js:212:16)
at Object.request (http.js:26:10)
根据ember-cli deploy文档,AWS密钥存储在名为.env.deploy.develop
的项目根目录下的一个文件中,该文件包含AWS密钥和机密:
AWS_KEY=ABC..
AWS_SECRET=ABC…
我相信构建设置没有错,因为它在我之前被广泛使用,然而,假设密钥和秘密是正确的,我的端还会出现什么问题?
我在其他地方读到,可用的内存可能是一个因素;因此,在尝试部署之前,我关闭了大多数正在运行的应用程序。在重新安装之前,还清除了node_modules
并清除了npm缓存。然而,无济于事。
欢迎提出任何建议。
- npm-v4.2.0
- 节点-v7.10.1
- ember cli-v2.13.0
- ember cli deploy-v1.0.2
好的,进一步研究一下,问题似乎是构建似乎无法读取第一个错误中包含AWS密钥和机密的.env文件。
这是通过将机密和密钥硬编码到/config/deploy.js
文件中以替换process.env.AWS_KEY
和process.env.AWS_SECRET
变量来确认的。
由于这个问题不再涉及这个问题的范围,我将结束这个问题,打开另一个问题。