Использование переменных среды для настройки приложения Sails.js для CircleCI - PullRequest
0 голосов
/ 29 августа 2018

Ранее я получал доступ к вариабельным средам с помощью приложений для узлов с помощью process.env.VARIABLE_NAME, но мне было любопытно попробовать Альтернативное решение Sails . Кажется, что я должен быть в состоянии вставить фиктивное значение (или ничего) в файл /config/foo.js, а затем перезаписать его тщательно названной переменной окружения. Я смоделировал мои настройки на в этом примере .

К сожалению, 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 вместо ...

1 Ответ

0 голосов
/ 23 июля 2019

Я просто установил переменную ENV для всего URL соединения. выглядит примерно так:

sails_datastores__default__url: postgresql://user:passwrod@host:port/databse

Я думаю, что в вашем примере вам не хватает части "по умолчанию"

...