mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Remove cruise files
This commit is contained in:
parent
28daa8bd4b
commit
b36a710e71
5 changed files with 0 additions and 415 deletions
181
ci/ci_build.rb
181
ci/ci_build.rb
|
@ -1,181 +0,0 @@
|
|||
#!/usr/bin/env ruby
|
||||
require 'fileutils'
|
||||
include FileUtils
|
||||
|
||||
def root_dir
|
||||
@root_dir ||= File.expand_path('../..', __FILE__)
|
||||
end
|
||||
|
||||
def rake(*tasks)
|
||||
tasks.each do |task|
|
||||
cmd = "bundle exec rake #{task}"
|
||||
puts "Running command: #{cmd}"
|
||||
return false unless system(cmd)
|
||||
end
|
||||
true
|
||||
end
|
||||
|
||||
puts "[CruiseControl] Rails build"
|
||||
build_results = {}
|
||||
|
||||
# Install required version of bundler.
|
||||
bundler_install_cmd = "sudo gem install bundler --no-ri --no-rdoc"
|
||||
puts "Running command: #{bundler_install_cmd}"
|
||||
build_results[:install_bundler] = system bundler_install_cmd
|
||||
|
||||
cd root_dir do
|
||||
puts
|
||||
puts "[CruiseControl] Bundling gems"
|
||||
puts
|
||||
build_results[:bundle] = system 'bundle update'
|
||||
end
|
||||
|
||||
cd "#{root_dir}/activesupport" do
|
||||
puts
|
||||
puts "[CruiseControl] Building Active Support"
|
||||
puts
|
||||
build_results[:activesupport] = rake 'test'
|
||||
build_results[:activesupport_isolated] = rake 'test:isolated'
|
||||
end
|
||||
|
||||
system "sudo rm -R #{root_dir}/railties/tmp"
|
||||
cd "#{root_dir}/railties" do
|
||||
puts
|
||||
puts "[CruiseControl] Building Railties"
|
||||
puts
|
||||
build_results[:railties] = rake 'test'
|
||||
end
|
||||
|
||||
cd "#{root_dir}/actionpack" do
|
||||
puts
|
||||
puts "[CruiseControl] Building Action Pack"
|
||||
puts
|
||||
build_results[:actionpack] = rake 'test'
|
||||
build_results[:actionpack_isolated] = rake 'test:isolated'
|
||||
end
|
||||
|
||||
cd "#{root_dir}/actionmailer" do
|
||||
puts
|
||||
puts "[CruiseControl] Building Action Mailer"
|
||||
puts
|
||||
build_results[:actionmailer] = rake 'test'
|
||||
build_results[:actionmailer_isolated] = rake 'test:isolated'
|
||||
end
|
||||
|
||||
cd "#{root_dir}/activemodel" do
|
||||
puts
|
||||
puts "[CruiseControl] Building Active Model"
|
||||
puts
|
||||
build_results[:activemodel] = rake 'test'
|
||||
build_results[:activemodel_isolated] = rake 'test:isolated'
|
||||
end
|
||||
|
||||
rm_f "#{root_dir}/activeresource/debug.log"
|
||||
cd "#{root_dir}/activeresource" do
|
||||
puts
|
||||
puts "[CruiseControl] Building Active Resource"
|
||||
puts
|
||||
build_results[:activeresource] = rake 'test'
|
||||
build_results[:activeresource_isolated] = rake 'test:isolated'
|
||||
end
|
||||
|
||||
rm_f "#{root_dir}/activerecord/debug.log"
|
||||
cd "#{root_dir}/activerecord" do
|
||||
puts
|
||||
puts "[CruiseControl] Building Active Record with MySQL IM enabled"
|
||||
puts
|
||||
ENV['IM'] = 'true'
|
||||
build_results[:activerecord_mysql_IM] = rake 'mysql:rebuild_databases', 'mysql:test'
|
||||
build_results[:activerecord_mysql_isolated_IM] = rake 'mysql:rebuild_databases', 'mysql:isolated_test'
|
||||
end
|
||||
|
||||
cd "#{root_dir}/activerecord" do
|
||||
puts
|
||||
puts "[CruiseControl] Building Active Record with MySQL IM disabled"
|
||||
puts
|
||||
ENV['IM'] = 'false'
|
||||
build_results[:activerecord_mysql] = rake 'mysql:rebuild_databases', 'mysql:test'
|
||||
build_results[:activerecord_mysql_isolated] = rake 'mysql:rebuild_databases', 'mysql:isolated_test'
|
||||
end
|
||||
|
||||
cd "#{root_dir}/activerecord" do
|
||||
puts
|
||||
puts "[CruiseControl] Building Active Record with MySQL2 IM enabled"
|
||||
puts
|
||||
ENV['IM'] = 'true'
|
||||
build_results[:activerecord_mysql2_IM] = rake 'mysql:rebuild_databases', 'mysql2:test'
|
||||
build_results[:activerecord_mysql2_isolated_IM] = rake 'mysql:rebuild_databases', 'mysql2:isolated_test'
|
||||
end
|
||||
|
||||
cd "#{root_dir}/activerecord" do
|
||||
puts
|
||||
puts "[CruiseControl] Building Active Record with MySQL2 IM disabled"
|
||||
puts
|
||||
ENV['IM'] = 'false'
|
||||
build_results[:activerecord_mysql2] = rake 'mysql:rebuild_databases', 'mysql2:test'
|
||||
build_results[:activerecord_mysql2_isolated] = rake 'mysql:rebuild_databases', 'mysql2:isolated_test'
|
||||
end
|
||||
|
||||
cd "#{root_dir}/activerecord" do
|
||||
puts
|
||||
puts "[CruiseControl] Building Active Record with PostgreSQL IM enabled"
|
||||
puts
|
||||
ENV['IM'] = 'true'
|
||||
build_results[:activerecord_postgresql8_IM] = rake 'postgresql:rebuild_databases', 'postgresql:test'
|
||||
build_results[:activerecord_postgresql8_isolated_IM] = rake 'postgresql:rebuild_databases', 'postgresql:isolated_test'
|
||||
end
|
||||
|
||||
cd "#{root_dir}/activerecord" do
|
||||
puts
|
||||
puts "[CruiseControl] Building Active Record with PostgreSQL IM disabled"
|
||||
puts
|
||||
ENV['IM'] = 'false'
|
||||
build_results[:activerecord_postgresql8] = rake 'postgresql:rebuild_databases', 'postgresql:test'
|
||||
build_results[:activerecord_postgresql8_isolated] = rake 'postgresql:rebuild_databases', 'postgresql:isolated_test'
|
||||
end
|
||||
|
||||
cd "#{root_dir}/activerecord" do
|
||||
puts
|
||||
puts "[CruiseControl] Building Active Record with SQLite 3 IM enabled"
|
||||
puts
|
||||
ENV['IM'] = 'true'
|
||||
build_results[:activerecord_sqlite3_IM] = rake 'sqlite3:test'
|
||||
build_results[:activerecord_sqlite3_isolated_IM] = rake 'sqlite3:isolated_test'
|
||||
end
|
||||
|
||||
cd "#{root_dir}/activerecord" do
|
||||
puts
|
||||
puts "[CruiseControl] Building Active Record with SQLite 3 IM disabled"
|
||||
puts
|
||||
ENV['IM'] = 'false'
|
||||
build_results[:activerecord_sqlite3] = rake 'sqlite3:test'
|
||||
build_results[:activerecord_sqlite3_isolated] = rake 'sqlite3:isolated_test'
|
||||
end
|
||||
|
||||
|
||||
puts
|
||||
puts "[CruiseControl] Build environment:"
|
||||
puts "[CruiseControl] #{`cat /etc/issue`}"
|
||||
puts "[CruiseControl] #{`uname -a`}"
|
||||
puts "[CruiseControl] #{`ruby -v`}"
|
||||
puts "[CruiseControl] #{`mysql --version`}"
|
||||
puts "[CruiseControl] #{`pg_config --version`}"
|
||||
puts "[CruiseControl] SQLite3: #{`sqlite3 -version`}"
|
||||
`gem env`.each_line {|line| print "[CruiseControl] #{line}"}
|
||||
puts "[CruiseControl] Bundled gems:"
|
||||
`bundle show`.each_line {|line| print "[CruiseControl] #{line}"}
|
||||
puts "[CruiseControl] Local gems:"
|
||||
`gem list`.each_line {|line| print "[CruiseControl] #{line}"}
|
||||
|
||||
failures = build_results.select { |key, value| value == false }
|
||||
|
||||
if failures.empty?
|
||||
puts
|
||||
puts "[CruiseControl] Rails build finished sucessfully"
|
||||
exit(0)
|
||||
else
|
||||
puts
|
||||
puts "[CruiseControl] Rails build FAILED"
|
||||
puts "[CruiseControl] Failed components: #{failures.map { |component| component.first }.join(', ')}"
|
||||
exit(-1)
|
||||
end
|
|
@ -1,140 +0,0 @@
|
|||
# Rails Continuous Integration Server Setup Notes
|
||||
# This procedure was used to set up http://ci.rubyonrails.org on Ubuntu 8.04
|
||||
# It can be used as a guideline for setting up your own CI server against your local rails branches
|
||||
|
||||
* Set up ci user:
|
||||
# log in as root
|
||||
$ adduser ci
|
||||
enter user info and password
|
||||
$ visudo
|
||||
# give ci user same sudo rights as root
|
||||
|
||||
* Disable root login:
|
||||
# log in as ci
|
||||
$ sudo vi /etc/shadow
|
||||
# overwrite and disable encrypted root password to disable root login:
|
||||
root:*:14001:0:99999:7:::
|
||||
|
||||
* Change Hostname:
|
||||
$ sudo vi /etc/hostname
|
||||
change to correct hostname
|
||||
$ sudo vi /etc/hosts
|
||||
replace old hostname with the correct hostname
|
||||
# reboot to use new hostname (and test reboot)
|
||||
$ sudo shutdown -r now
|
||||
|
||||
* Update aptitude:
|
||||
$ sudo aptitude update
|
||||
|
||||
* Use cinabox to perform rest of ruby/ccrb setup:
|
||||
* https://github.com/thewoolleyman/cinabox/tree/master/README.txt
|
||||
|
||||
# This is not yet properly supported by RubyGems...
|
||||
# * Configure RubyGems to not require root access for gem installation
|
||||
# $ vi ~/.profile
|
||||
# # add this line at bottom:
|
||||
# PATH="$HOME/.gem/ruby/1.8/bin:$PATH"
|
||||
# $ sudo vi /etc/init.d/cruise
|
||||
# # edit the start_cruise line to source CRUISE_USER/.profile:
|
||||
# start_cruise "cd #{CRUISE_HOME} && source /home/#{CRUISE_USER}/.profile && ./cruise start -d"
|
||||
# $ vi ~/.gemrc
|
||||
# # add these lines:
|
||||
# ---
|
||||
# gemhome: /home/ci/.gem/ruby/1.8
|
||||
# gempath:
|
||||
# - /home/ci/.gem/ruby/1.8
|
||||
|
||||
* If you did not configure no-root-gem installation via ~/.gemrc as shown above, then allow no-password sudo for gem installation:
|
||||
$ sudo visudo
|
||||
# add this line to bottom:
|
||||
ci ALL=(ALL) NOPASSWD: ALL
|
||||
|
||||
* Start ccrb via init script and check for default homepage at port 3333
|
||||
|
||||
* Install/setup nginx:
|
||||
$ sudo aptitude install nginx
|
||||
$ sudo vi /etc/nginx/sites-available/default
|
||||
# Add the following entry at the top of the file above the 'server {' line:
|
||||
upstream mongrel {
|
||||
server 127.0.0.1:3333;
|
||||
}
|
||||
|
||||
# Change server_name entry to match server name
|
||||
|
||||
# replace the contents of the root 'location / {}' block with the following entries:
|
||||
proxy_pass http://mongrel;
|
||||
proxy_redirect off;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Client-Verify SUCCESS;
|
||||
proxy_read_timeout 65;
|
||||
|
||||
# also comment default locations for /doc and /images
|
||||
$ sudo /etc/init.d/nginx start
|
||||
|
||||
* Add project to cruise (It will still fail until everything is set up):
|
||||
$ cd ~/ccrb
|
||||
$ ./cruise add rails -s git -r git://github.com/rails/rails.git # or the URI of your branch
|
||||
|
||||
* Copy and configure cruise site config file:
|
||||
$ cp ~/.cruise/projects/rails/work/ci/site_config.rb ~/.cruise/site_config.rb
|
||||
# Edit ~/.cruise/site_config.rb as desired, for example:
|
||||
ActionMailer::Base.smtp_settings = {
|
||||
:address => "localhost",
|
||||
:domain => "ci.yourdomain.com",
|
||||
}
|
||||
Configuration.dashboard_refresh_interval = 60.seconds
|
||||
Configuration.dashboard_url = 'http://ci.yourdomain.com/'
|
||||
Configuration.serialize_builds = true
|
||||
Configuration.serialized_build_timeout = 1.hours
|
||||
BuildReaper.number_of_builds_to_keep = 100
|
||||
|
||||
* Copy and configure cruise project config file
|
||||
$ cp ~/.cruise/projects/rails/work/ci/cruise_config.rb ~/.cruise/projects/rails
|
||||
$ vi ~/.cruise/projects/rails/cruise_config.rb:
|
||||
# Edit ~/.cruise/projects/rails/cruise_config.rb as desired, for example:
|
||||
Project.configure do |project|
|
||||
project.build_command = 'ruby ci/ci_build.rb'
|
||||
project.email_notifier.emails = ['recipient@yourdomain.com']
|
||||
project.email_notifier.from = 'sender@yourdomain.com'
|
||||
end
|
||||
|
||||
* Set up mysql
|
||||
$ sudo aptitude install mysql-server-5.0 libmysqlclient-dev
|
||||
# no password for mysql root user
|
||||
|
||||
* setup sqlite 3
|
||||
$ sudo aptitude install sqlite3 libsqlite3-dev
|
||||
# Note: there's some installation bugs with sqlite3-ruby 1.2.2 gem file permissions:
|
||||
# http://www.icoretech.org/2008/07/06/no-such-file-to-load-sqlite3-database
|
||||
# cd /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.2 && sudo find . -perm 0662 -exec chmod 664 {} \;
|
||||
|
||||
* setup postgres
|
||||
$ sudo aptitude install postgresql postgresql-server-dev-8.3
|
||||
$ sudo su - postgres -c 'createuser -s ci'
|
||||
|
||||
* Install fcgi libraries
|
||||
$ sudo apt-get install libfcgi-dev
|
||||
|
||||
* Install memcached and start for first time (should start on reboot automatically)
|
||||
$ sudo aptitude install memcached
|
||||
$ sudo /etc/init.d/memcached start
|
||||
|
||||
* Install and run GemInstaller to get all dependency gems
|
||||
$ sudo gem install geminstaller
|
||||
$ cd ~/.cruise/projects/rails/work
|
||||
$ sudo geminstaller --config=ci/geminstaller.yml # turn up debugging with these options: --geminstaller-output=all --rubygems-output=all
|
||||
|
||||
* Create ActiveRecord test databases for mysql
|
||||
$ mysql -uroot -e 'grant all on *.* to rails@localhost;'
|
||||
$ mysql -urails -e 'create database activerecord_unittest;'
|
||||
$ mysql -urails -e 'create database activerecord_unittest2;'
|
||||
|
||||
* Create ActiveRecord test databases for postgres
|
||||
# cd to rails activerecord dir
|
||||
$ rake postgresql:build_databases
|
||||
|
||||
* Reboot and make sure everything is working
|
||||
$ sudo shutdown -r now
|
||||
$ http://ci.yourdomain.com
|
|
@ -1,9 +0,0 @@
|
|||
Project.configure do |project|
|
||||
project.build_command = 'sudo gem update --system && ruby ci/ci_build.rb'
|
||||
project.email_notifier.from = 'rails-ci@wyeworks.com'
|
||||
|
||||
# project.campfire_notifier.account = 'rails'
|
||||
# project.campfire_notifier.token = ''
|
||||
# project.campfire_notifier.room = 'Rails 3'
|
||||
# project.campfire_notifier.ssl = true
|
||||
end
|
13
ci/site.css
13
ci/site.css
|
@ -1,13 +0,0 @@
|
|||
/* this is a copy of /home/ci/.cruise/site.css, please make any changes to it there */
|
||||
|
||||
/* this is a copy of /home/ci/.cruise/site.css, please make any changes to it there */
|
||||
|
||||
/* if you'd like to add custom styles to cruise, add them here */
|
||||
/* the following will make successful builds green */
|
||||
a.success, a.success:visited {
|
||||
color: #0A0;
|
||||
}
|
||||
|
||||
.build_success {
|
||||
background-image: url(/images/green_gradient.png);
|
||||
}
|
|
@ -1,72 +0,0 @@
|
|||
# site_config.rb contains examples of various configuration options for the local installation
|
||||
# of CruiseControl.rb.
|
||||
|
||||
# YOU MUST RESTART YOUR CRUISE CONTROL SERVER FOR ANY CHANGES MADE HERE TO TAKE EFFECT!!!
|
||||
|
||||
# EMAIL NOTIFICATION
|
||||
# ------------------
|
||||
|
||||
# CruiseControl.rb can notify you about build status via email. It uses the Action Mailer component of Ruby on Rails
|
||||
# framework. Obviously, Action Mailer needs to know how to send out email messages.
|
||||
# If you have an SMTP server on your network, and it needs no authentication, write this in your site_config.rb:
|
||||
#
|
||||
ActionMailer::Base.smtp_settings = {
|
||||
:address => "localhost",
|
||||
:domain => "ci.rubyonrails.org",
|
||||
}
|
||||
#
|
||||
# If you have no SMTP server at hand, you can configure email notification to use GMail SMTP server, as follows
|
||||
# (of course, you'll need to create a GMail account):
|
||||
#
|
||||
# ActionMailer::Base.smtp_settings = {
|
||||
# :address => "smtp.gmail.com",
|
||||
# :port => 587,
|
||||
# :domain => "yourdomain.com",
|
||||
# :authentication => :plain,
|
||||
# :user_name => "yourgmailaccount",
|
||||
# :password => "yourgmailpassword"
|
||||
# }
|
||||
#
|
||||
# The same approach works for other SMTP servers thet require authentication. Note that GMail's SMTP server runs on a
|
||||
# non-standard port 587 (standard port for SMTP is 25).
|
||||
#
|
||||
# For further details about configuration of outgoing email, see Ruby On Rails documentation for ActionMailer::Base.
|
||||
|
||||
# Other site-wide options are available through Configuration class:
|
||||
|
||||
# Change how often CC.rb pings Subversion for new requests. Default is 10.seconds, which should be OK for a local
|
||||
# SVN repository, but probably isn't very polite for a public repository, such as RubyForge. This can also be set for
|
||||
# each project individually, through project.scheduler.polling_interval option:
|
||||
# Configuration.default_polling_interval = 1.minute
|
||||
|
||||
# How often the dashboard page refreshes itself. If you have more than 10-20 dashboards open,
|
||||
# it is advisable to set it to something higher than the default 5 seconds:
|
||||
Configuration.dashboard_refresh_interval = 60.seconds
|
||||
|
||||
# Site-wide setting for the email "from" field. This can also be set on per-project basis,
|
||||
# through project.email.notifier.from attribute
|
||||
Configuration.email_from = 'rails-ci@wyeworks.com'
|
||||
|
||||
# Root URL of the dashboard application. Setting this attribute allows various notifiers to include a link to the
|
||||
# build page in the notification message.
|
||||
Configuration.dashboard_url = 'http://rails-ci.wyeworks.com/'
|
||||
|
||||
# If you don't want to allow triggering builds through dashboard Build Now button. Useful when you host CC.rb as a
|
||||
# public web site (such as http://cruisecontrolrb.thoughtworks.com/projects - try clicking on Build Now button there
|
||||
# and see what happens):
|
||||
Configuration.disable_build_now = true
|
||||
|
||||
# If you want to only allow one project to build at a time, uncomment this line
|
||||
# by default, cruise allows multiple projects to build at a time
|
||||
Configuration.serialize_builds = true
|
||||
|
||||
# Amount of time a project will wait to build before failing when build serialization is on
|
||||
Configuration.serialized_build_timeout = 3.hours
|
||||
|
||||
# To delete build when there are more than a certain number present, uncomment this line - it will make the dashboard
|
||||
# perform better
|
||||
BuildReaper.number_of_builds_to_keep = 100
|
||||
|
||||
# any files that you'd like to override in cruise, keep in ~/.cruise, and copy over when this file is loaded like this
|
||||
site_css = CRUISE_DATA_ROOT + "/site.css"
|
||||
FileUtils.cp site_css, Rails.root + "/public/stylesheets/site.css" if File.exists? site_css
|
Loading…
Reference in a new issue