вторник, 20 декабря 2011 г.

Система непрерывной интеграции CruiseControl.rb


Попробовал сегодня систему непрерывной интеграции cruisecontrol.rb

Установка в 5 шагов:

1) скачиваем исходники  https://github.com/thoughtworks/cruisecontrol.rb.git

2) создаем в проекте таск для выполнения тестов ./lib/tasks/cruise.rake

  task :cruise => [:copy_database_config] do
    RAILS_ENV = 'test'
    Rake::Task['db:drop'].invoke
    Rake::Task['db:create'].invoke
    Rake::Task['db:migrate'].invoke

    Rake::Task['spec'].prerequisites.clear
    Rake::Task['spec'].invoke

    FileUtils.rm_f(File.dirname(__FILE__) + '/../../rerun.txt')
    Rake::Task['cucumber:ok'].prerequisites.clear
    Rake::Task['cucumber:ok'].invoke
  end

  task :copy_database_config do
    File.open(File.dirname(__FILE__) + '/../../config/database.yml', 'w') do |file|
      file << <<YAML
  test: &TEST
    adapter: postgresql
    database: omega_test
    username: arion
    password: ghtlyfpyfxty
    encoding: utf8
    reconnect: false
    pool: 200

  cucumber:
    <<: *TEST
  YAML
    end
  end


3) добавляем проект в cruisecontrol ./cruise add <название> -r <адрес git> -s git -b <бранч>

4) запускаем ./cruise start

5) наслаждаемся

Комментариев нет:

Отправить комментарий