Как настроить в Jenkinsfile базу данных, которая будет использоваться набором тестов приложения Rails в Jenkins? - PullRequest
0 голосов
/ 28 февраля 2020

У меня есть приложение Rails, которое использует базу данных PostgreSQL, и я хочу запустить набор тестов в Jenkins. Я начал искать конфигурацию Jenkinsfile для выполнения набора тестов и как-то понимать использование агентов для запуска приложения Rails внутри контейнера. Но я не нашел никаких ссылок относительно того, как настроить базу данных для использования в тестах.

Нужно ли настраивать базу данных в моем Jenkinsfile?

Если да, то как мне это сделать? сделай это? БД будет другим агентом?

Если так, как настроить второго агента (во всех найденных примерах только один агент)?

1 Ответ

0 голосов
/ 28 февраля 2020

Вы можете настроить базу данных в приложении rails с помощью database.yml или ENV['DATABASE_URL']. ENV['DATABASE_URL'] фактически объединено с database.yml, но env var имеет приоритет.

Вы можете установить переменные ENV в своем Jenkinsfile в среде:

pipeline {
    environment {
        DATABASE_URL= 'postgresql://localhost/my_test_database?pool=5'
    }
    # ...
}

Возможно, вы захотите использовать учетные данные вместо жесткого кодирования имя пользователя / пароль вашей базы данных в вашем Jenkinsfile.

pipeline {
    environment {
        DATABASE_URL= credentials('jenkins-database-url')
    }
    # ...
}

Если вы хотите разделить это на несколько вариантов конфигурации, вы можете использовать интерполяцию в вашем Jenkinsfile или использовать ERB в вашем database.yml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...