Wszedłem w ten folder, zrobiłem bundle install, następnie utworzyłem katalog test zrobiłem w nim git init.
W nim chciałem stworzyć swoją aplikację, więc wklepałem ./cruise add test -r /home/user/test/ -s git
Niestety nic nie utworzyło, a w momencie builda wywala do logów to:
[quote][info] [2012-01-06 16:31:44] Builder for project ‘test’ started
[error] undefined method []' for nil:NilClass [error] /home/user/projekty/cruisecontrol.rb/lib/source_control/git.rb:78:inblock in current_branch’
[error] /home/user/projekty/cruisecontrol.rb/lib/command_line.rb:86:in call' [error] /home/user/projekty/cruisecontrol.rb/lib/command_line.rb:86:inblock in e’
[error] /home/user/projekty/cruisecontrol.rb/lib/command_line.rb:84:in popen' [error] /home/user/projekty/cruisecontrol.rb/lib/command_line.rb:84:ine’
[error] /home/user/projekty/cruisecontrol.rb/lib/command_line.rb:71:in block in execute' [error] /home/user/projekty/cruisecontrol.rb/lib/command_line.rb:70:inchdir’
[error] /home/user/projekty/cruisecontrol.rb/lib/command_line.rb:70:in execute' [error] /home/user/projekty/cruisecontrol.rb/lib/source_control/abstract_adapter.rb:48:inblock in execute_in_local_copy’
[error] /home/user/projekty/cruisecontrol.rb/lib/source_control/abstract_adapter.rb:47:in chdir' [error] /home/user/projekty/cruisecontrol.rb/lib/source_control/abstract_adapter.rb:47:inexecute_in_local_copy’
[error] /home/user/projekty/cruisecontrol.rb/lib/source_control/git.rb:114:in git' [error] /home/user/projekty/cruisecontrol.rb/lib/source_control/git.rb:77:incurrent_branch’
[error] /home/user/projekty/cruisecontrol.rb/lib/source_control/git.rb:43:in latest_revision' [error] /home/user/projekty/cruisecontrol.rb/app/models/project.rb:298:inbuild_if_necessary’
[error] /home/user/projekty/cruisecontrol.rb/app/models/polling_scheduler.rb:16:in run' [error] /home/user/projekty/cruisecontrol.rb/script/builder:86:inblock in <top (required)>’
[error] /home/user/projekty/cruisecontrol.rb/script/builder:85:in catch' [error] /home/user/projekty/cruisecontrol.rb/script/builder:85:in<top (required)>’
[error] /home/user/projekty/cruisecontrol.rb/lib/cruise_control/init.rb:92:in load' [error] /home/user/projekty/cruisecontrol.rb/lib/cruise_control/init.rb:92:inbuilder’
[error] /home/user/projekty/cruisecontrol.rb/lib/cruise_control/init.rb:12:in run' [error] /home/user/projekty/cruisecontrol.rb/cruise:10:in'[/quote]
Folder test prócz repo .git jest pusty.
Uzywam rvm z rubym 1.9.2p bodaj 136. Może problem jest w tym, że cruisecontrol używa rake 0.8.7, a ja mam tą najnowszą 0.9.9.2 ?
[quote]rake test
rake aborted!
You have already activated rake 0.9.2.2, but your Gemfile requires rake 0.8.7. Using bundle exec may solve this.[/quote]
Nie mam pojęcia o co chodzi ;), ale jeżeli jeszcze nie za bardzo się zżyłeś z cruisecontrol, to może spróbuj użyć jenkinsa (warto się zainteresować też tym co github wypuścił: https://github.com/blog/1013-janky). Też kiedyś poległem na konfiguracji cruisecontrol, a później integrity, z jenkinsem nigdy nie miałem większych problemów.
Z tego co pobieżnie przejrzałem to chodzi głównie o integrację z githubem/hubotem, ale nie instalowałem jeszcze, więc dużo więcej Ci nie powiem.
dodajesza nowy projekt
w configu ustawiasz link do repo na githubie
zaznaczasz “Poll SCM”, i dajesz w polu tekstowym: * * * * * (albo coś innego jak wolisz, format czasu z crona)
upewniasz się, że użytkownik, na którym chodzi CI (z reguły jenkins), ma dostęp do repo na githubie (ja się po prostu loguję na niego i robię testowe git clone)
w “Build” wybierasz “Add build step” -> “Execute shell”
wklejasz tam cokolwiek jest Ci potrzebne do uruchomienia CI, np. u mnie to wygląda tak:
export RVM_RUBY=1.9.3-p0
rvm $RVM_RUBY exec bundle install --path vendor/bundled_gems --deployment
cp config/database.ci.yml config/database.yml
export PGPASSWORD=...
echo "DROP SCHEMA public CASCADE;CREATE SCHEMA public" | psql -h 127.0.0.1 -U jenkins -w ci
rvm $RVM_RUBY exec bundle exec rake postgis:install RAILS_ENV=test --trace > /tmp/postgis.install.ci 2>&1
rvm $RVM_RUBY exec bundle exec rake db:schema:load RAILS_ENV=test --trace
nohup Xvfb -ac -screen scrn 1280x2000x24 :2.0 &
export DISPLAY=:2.0
rvm $RVM_RUBY exec ./script/spec --tag ~unciable
Trochę tego jest i muszę to kiedyś posprzątać, ale już pewnie widzisz co i jak. Np. w teorii nie trzeba za każdym razem wywalać bazy danych i od początku robić migracji, ale nie chciało mi się obczajać jak to lepiej zrobić z postgisem (tak, jestem bardzo leniwy ).
Te 2 linijki są do selenium, firefox się odpala w tym wirtualnym bufferze:
[quote=chinchin]Uzywam rvm z rubym 1.9.2p bodaj 136. Może problem jest w tym, że cruisecontrol używa rake 0.8.7, a ja mam tą najnowszą 0.9.9.2 ?
[quote]rake test
rake aborted!
You have already activated rake 0.9.2.2, but your Gemfile requires rake 0.8.7. Using bundle exec may solve this.[/quote]
[/quote]
Jeśli gdzieś w cruisecontrol możesz wpisać polecenie do odpalania testów (teraz jest rake test), to spróbuj wpisać “bundle exec rake test”
[quote]Started by user anonymous
Checkout:workspace / /var/lib/jenkins/jobs/nowy/workspace - hudson.remoting.LocalChannel@1510e56
Using strategy: Default
Checkout:workspace / /var/lib/jenkins/jobs/nowy/workspace - hudson.remoting.LocalChannel@1510e56
Workspace has a .git repository, but it appears to be corrupt.
Cloning the remote Git repository
Cloning repository origin
Fetching upstream changes from /home/user/projekty/nowy
ERROR: Couldn’t find any revision to build. Verify the repository and branch configuration for this job.
Finished: FAILURE[/quote]
Zalogowałem się na jenkinsa (wcześniej musiałem ustawić hasło jako admin na jenkins bo nie mogę się zalogować), udało mi się zrobić git clone /home/user/projekty/nowy poszło dobrze.
W shellu wykonuje tylko to na razie:
[quote]export RVM_RUBY=1.9.2-p290
rvm $RVM_RUBY exec bundle install --path vendor/bundled_gems --deployment[/quote]
GitHub project jest ustawione /home/user/projekty/nowy/ a w Source Code Management zaznoczne git i ustawiony taki sam adres url
Kliknij na “Configure”, później “Manage plugins” i zobacz czy masz zainstalowany “Git Plugin”. Wtedy w “Source Code Management” masz do wyboru git i wtedy pewnie możesz wkleić lokalną ścieżkę.
Cześć,
udało mi się w końcu przebrnąc ten błąd i działa.
Teraz mam problem ze zrobieniem builda, nie tworzy mi pliku Rakefile, a jak go ręcznie stworzę to nie nadpisuje.
Niżej kody błędów
Nikt się z takim czymś nie spotkał? Z takim poleceniem tworzącym? Może mogę tworzyć przy użyciu innych komend? Ktoś pomoże? Mogę używać dowolnych, są wczytywane z pliku .sh