Jenkinsfile在Rails中连接数据库

时间:2018-07-17 19:25:03

标签: ruby-on-rails docker jenkins-pipeline

也许是一个奇怪的问题,但对你们更多人有用。 如何在Jenkinsfile中注入PostgreSQL数据库。

我目前遇到的问题是无法在管道中安装PostgreSQL,这很高兴。可以通过什么方式解决这个问题?

我试图在我的Jenkinsfile中“ apt-get install”不起作用。我出于以下目的需要测试数据库:我的数据库中有预定义的内容,用于在rake asset:precompile命令中生成资产。对于构建过程中的这一步,我确实需要一个数据库。在Jenkins中可以通过哪种方式使用数据库?我已经尝试过SQLite,它不接受数据库脚本中包含的JSON文件。

上面的代码都打包了一个dockerfile,正如您在下面的我的Jenkinsfile中看到的那样。

pipeline {
agent {
    dockerfile true
}
stages {
    stage('Initialize database'){
        steps {
            sh 'apt-get install -y postgresql-9.1'
        }
    }
    stage('Setup database') {
        steps {
            sh 'DOMAIN=dummy \
                RAILS_ENV=production \
                SECRET_KEY_BASE=dummy \
                ENCRYPTION_KEY=' ' ' '  \
                MAIL_DELIVERY_METHOD=smtp \
                bundle exec rake db:create db:test:prepare'
        }
    }
    stage('Get assets') {
        steps {
            sh 'DOMAIN=dummy \
                RAILS_ENV=production \
                SECRET_KEY_BASE=dummy \
                ENCRYPTION_KEY=' ' ' '  \
                MAIL_DELIVERY_METHOD=smtp \
                bundle exec rake assets:precompile'
        }
    }
    stage('Exec cucumber') {
        steps {
            sh 'test exec cucumber'
        }
    }
}

如果有人能给我一个有关詹金斯内部数据库用法的示例,那将是很好的事情。

0 个答案:

没有答案