Академический Документы
Профессиональный Документы
Культура Документы
MAVEN & co
Vanja Petreski
Uvod
• Šta je potrebno da bi se uspešno izveo veliki Java
projekat?
• Vrhunske arhitekte?
• Efikasan QA tim?
Uvod
• Odgovor je:
• X u build okruţenju 1
• X u build okruţenju 2
• Problemi
Agenda
• Rešenje (X u build okruţenju 3)
– Subversion (SVN)
– Apache Maven 2
– Artifactory
– Apache Continuum
– Jabber
Agenda
• Kako to izgleda praktično
– Maven koncepti
– X (JEE aplikacija)
– Y (GUI standalone aplikacija)
– AutoZoki (Web aplikacija)
Ukratko o strukturi X-a
• JEE aplikacija (ear: war, ejb jar, jar, deskriptori)
• Testiranje: nikakvo!
Koji projekat
U sred ovoga, ćete mu
pojavljuje
datisedanovi
moţe da krene
developer koji
Developeri nastavljaju da
treba
dada se uključimenjaju
radi? u lokalne kopije.
razvoj. Projekti se sve više razlikuju.
U tom trenutku (dan pred release
Ali bliţi se trenutak kada je
ili na dan release-a) se pojavljuje
mračni guru čiji je zadatak potrebno
da integrisati lokalne
obavi magičan proces integracije,
kopije i spremiti novi release.
da izvrši deploy aplikacije na
Posle mnogoplatoformu,
development vremena i da uz SVE
dosta
sreće,
testira dobija
i ako svese radi
izlaz(a
koji
uvekje spreman
nešto
nezaradi, posle čega
produkciju. Guruseodlazi
procesu
Skadarliju da seponavlja,
integracije izleči vitaminom
posle B...
ispravke), modifikuje aplikaciju i
spremi za produkciono okruţenje.
X u build okruţenju 2
• S obzirom da se projekat uvećao, Jdeveloper je sve teţe
radio build i pucao.
• Mušterije su nezadovoljne.
• ...
Rešenje (X u build okruţenju 3)
• Rešenje je u korišćenju best of breed metodologija i
tehnologija u implementaciji razvojne i prateće
infrastrukture.
• Repozitorijum
– Local
– Remote
– Inhouse
• Menadţeri repozitorijuma
Apache Continuum
• Kontinualna integracija (CI serveri)
Jabber
• IM rešenje
Celokupna slika
Developeri
AkoAko mvn
ganenema,
postoji
checkout-uju
Kada Mavenu
eclipse:eclipse,
kontaktira se
u inhouse,
projekat
zatreba
test, code, i
artifakt,
refactor,
inhouse će
inhouse
tako
local prvo seupdate,
dobijaju
build,
kontaktirati
commit…
proverava
lokalnu
remotelokalni
repozitorijum
Sada
kopijuse zna
gde je
proces –
CIprojekat IM
na glavnoj
Dizajnira
Importuje
liniji razvoja!
Maven
projekat na
strukturu
SVN
projekta
I konfiguriše CI Continuum
da osluškuje taj
projekat
Benefiti
• Developeri mogu da biraju IDE
• ...
Zaključak
• Imamo moćnu infrastrukturu, ali to je tek početak