systemadmin.es > Gestión de cofiguración > Testing con beaker mediante Travis CI

Testing con beaker mediante Travis CI

Anteriormente vimos cómo realizar pruebas en modulos de puppet mediante beaker. Vamos a ver cómo automatizar la realización de dichas pruebas mediante Travis CI cuando realizamos un commit en github

Para poder realizar las pruebas en la infraestructura de Travis CI deveremos hacerlo mediante docker, para ello deberemos preparar los ficheros nodeset para docker, por ejemplo eyp-mcollective/spec/acceptance/nodeset/ubuntu1404-docker.yml:

HOSTS:
  ubuntu-14-04:
    platform: ubuntu-14.04-x64
    image: ubuntu:14.04
    hypervisor: docker
CONFIG:
  type: foss

También deberemos añadir el Gemfile el entorno que necesitamos para poder ejecutar las pruebas, por ejemplo eyp-mcollective/Gemfile:

(...)
group :system_tests do
  gem 'beaker',              :require => false
  gem 'beaker-rspec',        :require => false
  gem 'beaker_spec_helper',  :require => false
  gem 'beaker-puppet_install_helper', :require => false
  gem 'serverspec',          :require => false
  gem 'rspec', '< 3.2',      :require => false if RUBY_VERSION =~ /^1\.8/
  gem 'rspec-puppet',        :require => false
end
(...)

Finalmente, deberemos indicar a Travis CI cómo ejecutar las pruebas mediante el fichero .travis.yml en la base de nuestro repositorio, por ejemplo eyp-mcollective/.travis.yml:

---
language: ruby
sudo: required
services:
  - docker
script:
  - bundle exec rspec spec/acceptance
bundler_args: --without system_tests
matrix:
  include:
  - rvm: default
    env: BEAKER_set="ubuntu1404-docker"
    dist: trusty
    bundler_args:
    script: sudo service docker restart ; sleep 10 && bundle exec rspec spec/acceptance/*_spec.rb

Una vez activado en la interfaz de Travis CI, cada commit que realizemos en nuestro repositorio lanzará las pruebas para verificar la funcionalidad del modulo sigue intacta. Podremos ver los resultados en el site, por ejemplo para eyp-mcollective

Resultado pruebas beaker eyp-mcollective

Resultado pruebas beaker eyp-mcollective

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>