在使用process.env.VARIABLE_NAME
之前,我已经使用节点应用程序访问了环境变量,但是我很想尝试Sails' alternative solution。看来我应该能够在/config/foo.js
文件中放入一个哑数值(或什么都没有),然后用一个精心命名的环境变量将其覆盖。我在this example上对设置进行了建模。
不幸的是,CircleCI似乎忽略了环境变量,而是使用了虚拟值。我设置不正确吗?仅供参考,我使用/config/local.js
(无环境变量)覆盖本地计算机上的密码,一切正常...
/config/datastores.js:
module.exports.datastores = {
postgresqlTestDb: {
adapter: 'sails-postgresql',
host: 'test-postgres.myhost.com',
user: 'postgres',
password: 'PASSWORD',
database: 'my-db',
},
};
CircleCI中的环境变量:
sails_datastores__postgresqlTestDb__password = theRealPassword
CircleCI错误:
1) "before all" hook:
Error: done() invoked with non-Error: {"error":{"name":"error","length":104,"severity":"FATAL","code":"28P01","file":"auth.c","line":"307","routine":"auth_failed"},"meta":{"adapter":"sails-postgresql","host":"test-postgres.myhost.com","user":"postgres","password":"PASSWORD","database":"","identity":"postgresqlTestDb","url":"postgres://postgres:PASSWORD@test-postgres.myhost.com:5432/my-db"}}
at sails.lift (test/lifecycle.test.js:46:23)
...
错误的重要部分:
"url":"postgres://postgres:PASSWORD@test-postgres.myhost.com:5432/my-db"
我想改为连接到postgres://postgres:theRealPassword@test-postgres.myhost.com:5432/my-db
...
答案 0 :(得分:0)
我只是为整个连接URL设置了一个ENV变量。看起来像这样:
sails_datastores__default__url: postgresql://user:passwrod@host:port/databse
我认为在您的示例中,您缺少“默认”部分