2010-12-29 10 views
5

Mam projekt korzystający ze struktury Play, a standardem korporacyjnym jest, że wszystkie projekty powinny być budowane przez Hudson. Nie mogę jednak dowiedzieć się, jak to zrobić, ponieważ Hudson nie przestrzega żadnych standardów Java i wymaga architektury zainstalowanej na komputerze, na którym działa. Próbowałem zbudować projekt z Mavenem (gdybym to zrobił, dodanie go do Hudsona powinno być całkiem proste), ale nie udało mi się go uruchomić. Próbowałem Play Maven module, ale Maven twierdzi, że nie znajduje zewnętrznego repo, które jest wymienione (http://nexus.infin-it.fr/content/groups/public). Może to być spowodowane tym, że znajduję się za zaporą sieciową. Próbowałem też przepisu wymienionego na liście here, ale lokalna kompilacja maven nie działa, ponieważ nie może znaleźć org.playframework:play:1.1:jar.Jak mogę zbudować projekt Play z Hudsonem?

Czy ktoś to zrobił i może podać instrukcję?

+0

Na czym polega problem z posiadaniem architektury gry na serwerze Hudson? – niels

+0

To nie powinno stanowić problemu, ale w praktyce wynika to z niekończącej się dokumentacji i kłótni z działem operacji ... – mranders

Odpowiedz

3

Można to zrobić bez instalowania ramy grać na serwerze Hudson, ale jest to dość skomplikowana:

  1. Put bibliotek Play (play.jar i jego zależności) w repozytorium Maven
  2. Tworzenie pom.xml dla swojego projektu, skonfigurowany z:
    • tez bibliotek jako zależności
    • swój projekt konkretnych zależności (projekt lIB)
    • folder źródła Java projektu (w maven-compiler-plugin): "aplikacja"

Jeśli projekt jest prosty (żadnych zależności Module), to pom pozwala budować odtwarzaj źródła java używając Mavena.


Jeśli twój projekt ma zależności modułów, będziesz musiał dodać słoik zależności w zależnościach pom.

Aby to zrobić, będziesz musiał utworzyć pliki jar z modułów, jeśli nie mają one zapakowanych słoików (na przykład, aby uzyskać klasę "CRUD" modułu CRUD).

+0

A co z uruchomieniem testów sieciowych z Hudson? Czy to też można zrobić? – mranders

1

Wystarczy spojrzeć na repozytorium, które łączyłeś (http://nexus.infin-it.fr/content/groups/public). I zgadnij co, znalazłem play-1.1.jar. Jednak ID artefakt jest: org.play: play: 1,1: słoik i nie org.playframework

1

Teoretycznie można umieścić pełny plik ZIP na swojej kompilacji lub w repozytorium, a następnie użyć Hudsona do uruchomienia skryptu Ant, aby pobrać grę do agenta Hudsona, rozpakować go, a następnie uruchamiać na nim polecenia . Jest trochę niezgrabny, ale powinien działać.