yml travis ruby-on-rails travis-ci

ruby on rails - yml - Configuración de la base de datos Rails en Travis-CI



travis github (3)

Acabo de escribir una entrada de blog que describe cómo hacer esto.

Estoy tratando de usar la integración continua de Travis en un proyecto de Rails. La documentación dice que la base de datos de prueba debe configurarse como sigue para SQLite3:

test: adapter: sqlite3 database: ":memory:" timeout: 500

Pero me gustaría mantener mi configuración predeterminada para las pruebas locales. ¿Es posible mantener tanto la configuración local como los requisitos de Travis?


La publicación del blog de @mrm no dice nada acerca de responder a tu pregunta. Me enfrenté al mismo problema en el que mis credenciales de Postgreql son diferentes en mi máquina local que las predeterminadas de Travis. Esta es la solución más simple que se me ocurrió:

# config/database.yml test: adapter: postgresql database: medscraper_test username: <%= ENV[''TRAVIS''] ? ''postgres'' : ''MY_TEST_USERNAME'' %> password: <%= ENV[''TRAVIS''] ? '''' : ''MY_TEST_PASSWORD'' %>

Tenga en cuenta que Travis CI establece automáticamente la variable de entorno TRAVIS. Tu solución sería:

# config/database.yml test: adapter: sqlite3 database: <%= ENV[''TRAVIS''] ? ''":memory:"'' : ''db/test.sqlite3'' %> timeout: 500


Mi solución para este problema se basa completamente en una publicación de blog con algunas diferencias:

  1. Configuraciones específicas de Travis CI en config/database.travis.yml ;
  2. cp config/database.travis.yml config/database.yml en la sección anterior a la secuencia de .travis.yml de .travis.yml ;
  3. No tengo config/database.yml en el árbol de origen.

Aquí está la lista completa de ambos archivos:

# .travis.yml language: ruby rvm: - 1.9.3 env: - DB=sqlite - DB=mysql - DB=postgresql script: - RAILS_ENV=test bundle exec rake db:migrate --trace - bundle exec rake db:test:prepare - bundle exec rake before_script: - cp config/database.travis.yml config/database.yml - mysql -e ''create database strano_test'' - psql -c ''create database strano_test'' -U postgres # config/database.travis.yml sqlite: &sqlite adapter: sqlite3 database: db/<%= Rails.env %>.sqlite3 mysql: &mysql adapter: mysql2 username: root password: database: strano_<%= Rails.env %> postgresql: &postgresql adapter: postgresql username: postgres password: database: strano_<%= Rails.env %> min_messages: ERROR defaults: &defaults pool: 5 timeout: 5000 host: localhost <<: *<%= ENV[''DB''] || "postgresql" %> development: <<: *defaults test: <<: *defaults production: <<: *defaults