簡體   English   中英

如何在 Jenkinsfile 中配置要由 Jenkins 中的 Rails 應用程序的測試套件使用的數據庫?

[英]How to configure, in a Jenkinsfile, the database to be used by the test suite of a Rails app in Jenkins?

我有一個使用 PostgreSQL 數據庫的 Rails 應用程序,我想在 Jenkins 中運行測試套件。 我開始尋找 Jenkinsfile 的配置來執行測試套件,並了解代理在容器內執行 Rails 應用程序的用法。 但是我還沒有找到任何關於如何配置測試使用的數據庫的參考。

我必須在我的 Jenkinsfile 中配置數據庫嗎?

如果是這樣,我該怎么做? DB會是另一個代理嗎?

如果是這樣,如何配置第二個代理(我發現的所有示例都只有一個代理)?

您可以通過database.ymlENV['DATABASE_URL']在 rails 應用程序中配置數據庫。 ENV['DATABASE_URL']實際上與database.yml合並,但 env var 優先。

您可以通過環境在 Jenkinsfile 中設置 ENV 變量

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

您可能希望使用憑證而不是將您的數據庫用戶名/密碼硬編碼到您的 Jenkinsfile 中。

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

如果您想將其拆分為多個配置選項,您可以在 Jenkinsfile 中使用插值或在database.yml使用 ERB

暫無
暫無

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

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