Upload
la-mi-to-ri
View
230
Download
0
Embed Size (px)
Citation preview
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
1/24
(CONTINUOUS INTEGRATION SYSTEMWITH JENKINS)
Trnh by: Lm Minh Tr
Email:[email protected]
Cn Th: 06/2012
1
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
2/24
NI DUNG TRNH BY
2
I. GII THIU H THNG TCH HP LIN TC
II. GII THIU JENKINS
III. VAI TR CA JENKINS TRONG CI
IV. LI CH JENKINS MANG LI
V. NH HNG PHT TRIN (CI, AGILE)
VI. KH KHN KHI P DNG CI
VII. THO LUN
VIII. DEMO
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
3/24
I.GII THIU H THNG TCH HP LIN TC
3
I.1 So snh m hnh pht trin phn mm truyn thng v hin ti
Incremental
Spiral
Cocomo
Cocomo II
RAD
RUP
Requirements
Analysis
Design
Coding
Testing
Maintenance
Waterfall and Similar Methodology Others Agile and Similar Methodology
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
4/24
I.GII THIU H THNG TCH HP LIN TC (TT)
4
I.1 So snh m hnh pht trin phn mm truyn thng v hin ti (TT)
Waterfall and SimilarMethodology
Agile and Similar Methodology
Hngkhoch (plandriven)
Ch ph hp khi yu cu khch hngkhng thay i .
To raphnmmnhngchabitc gi trsdng (khng ng yucu).
Mtnhiuthi gian v chi ph chovic quay lichnhsacc giai
ontrc.Thngtrtin do khochkhng st vi yu cu v khi yu cuthay i.
Ri ro cao.
Hng gi tr (valuedriven).
Chpnhn thay i v cho php x l thay inhnhng v nhanh chng.
Chia nhx l v xc nhcktqu qua tng ltct. Qu trnh chia nhx l clpli cho n khi sn
phm hon tt.
To raphnmm c gi tr v ctrin khai chokhch hng sdngmt cch smnht.
Thng xuyn giao tip v nhnphnhit pha khchhng.
Lin tccitin cho cc giai on (lt ct) sau.
Gimthiuri ro.
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
5/24
I.GII THIU H THNG TCH HP LIN TC (TT)
5
I.1 So snh m hnh pht trin phn mm truyn thng v hin ti (TT).
(Hin ti) (Truyn thng)
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
6/24
I.GII THIU H THNG TCH HP LIN TC (TT)
6
I.2 Chi tit workflow ca Agile methodology thng qua Scrum methodology.
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
7/24
I.GII THIU H THNG TCH HP LIN TC (TT)
7
I.2 Chi tit workflow ca Agile methodology thng qua eXtremePrograming (XP) methodology.
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
8/24
I.GII THIU H THNG TCH HP LIN TC (TT)
8
I.3 nh ngha h thng tch hp lin tc (Continuous Integration ).
Phn mm pht trin theo m hnh Agile cn c gi l phn mmtch hp lin tc (Continuous Integration ).
H thng tch hp lin tc l thnh phn sng cn ca mt Agile team.
Trch dn nh ngha ca Martin Fowler Continuous Integration is asoftware development practice where members of a team integrate their
work frequently, usually each person integrates at least daily - leading to
multiple integrations per day. Each integration is verified by an automated
build (including test) to detect integration errors as quickly as possible.
Many teams find that this approach leads to significantly reducedntegration problems and allows a team to develop cohesive software more
rapidly.
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
9/24
I.GII THIU H THNG TCH HP LIN TC (TT)
9
I.4 Minh ha h thng tch hp lin tc
Trung tm cahthng tchhp lin tc
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
10/24
I.GII THIU H THNG TCH HP LIN TC (TT)
10
I.5 Thc tin ca h thng tch hp lin tc (Practices of ContinuousIntegration)
Qun l phin bn (source control and version control ).
T ng build bao gm test.
i ng pht trin thng xuyn chuyn (commit) source vni lu tr chnh (mainline).
Mi khi code c thay i s build li (mainline) thng qua buildserver.
Bo li cho ngi lp trnh gy li v qun l d n.
Pht hnh phin bn hon chnh cho khch hng khi khngcn li.
T ng phn phi phin bn mi n khch hng.
Mi ngi c th nhn thy nhng g xy ra (thay i, li) xem xt v gii quyt.
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
11/24
I.GII THIU H THNG TCH HP LIN TC (TT)
11
I.6 Thun li v kh khi p dng h thng tch hp lin tc
Kh khn:
Cn thi gian thit lp h thng ban u.
i hi qun l d n, ngi lp trnh, ngi kim nh phi am
hiu m hnh pht trin phn mm Agile, h thng tch hp CI, cchs dng cc cng c h tr cho Agile v CI.
Chi ph thit b phn cng (cc server cho CI).
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
12/24
I.GII THIU H THNG TCH HP LIN TC (TT)
12
I.7 Ti sao cn h thng tch hp lin tc?
Gim thiu ri ro do li c pht hin sm.
Gim thiu s lp li cho cc qu trnh
To phn mm c gi tr s dng sm nht c th v sn sng trin
khai mi lc mi ni. Cung cp ci nhn xuyn sut tng quan v c th cho tng giai on.
Nng cao k nng ca i ng nhn vin pht trin phn mm.
Ci thin cht lng phn mm.
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
13/24
I.GII THIU H THNG TCH HP LIN TC (TT)
13
I.8 Nhng cng c c s dng trong h thng tch hp lin tc Code Repositories
SVN, Mercurial, Git, Visual Source Safe
Continuous Build Systems Jenkins, Bamboo, Cruise,Hudson,
Test Unit Frameworks JUnit,Cucumber , CppUnit
Test report website Mantis, TestLink, Redmine
Artifact Repositories Nexus, Artifactory, Archiva
And others
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
14/24
II. GII THIU JENKINS
14
II.1 Gii thiu
L mt ng dng web application m ngun m (c cng ng pht trin theo giyphp MIT) ng vai tr my ch build & test ca h thng tch hp lin tc.
Jenkins c vit bng Java nn Jenkins c th kt hp c vi hu ht cc cng ckhc ca h thng tch hp lin tc vi nhiu nn tng khc nhau v c bit l tngmobi application (android).
Tin thn l Hudson c vit bi Kosuke Kawaguchi ti Sun, k t khi Sun c muali bi Oracle vo nm 2010, mt b phn pht trin Hudson tch ra pht trin ringv c t tn l Jenkins.
c s dng rng ri v c pht trin ci tin lin tc bi cng ng m ngun m
t nhiu gii thng :InfoWorld Bossies Award, 2011 O'Reilly Open-Source Award, 2011ALM&SCM, SDTimes 100, 2010, 2011 ,GlassFish Community Innovation Award 2008, Duke's
Choice Award 2008
c cc t chc ln tin dng: Ebay,Apache, NASA,Boeing,Mozilla, Linked in,
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
15/24
II. GII THIU JENKINS (TT)
15
II.2 c im ca Jenkins
D dng ci t v s dng.
a nn tng.
H tr cho nhiu cng ngh pht trin phn mm.
c s dng rng ri. D m rng.
D dng lin kt vi cc cng c khc ca h thng tch hp lin tc thng qua ccplug in.
Min ph.
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
16/24
III. VAI TR CA JENSKIN TRONG CI
16
III.1 L tri tim ca CIL CI server (build & test server) gi v tr trung tm tri tim cho
mi hot ng ca h thng.
Khch hng, Kim nh,
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
17/24
III. VAI TR CA JENSKIN TRONG CI (TT)
17
III.2 Khp kn quy trnh pht trin phn mm mtcch t ng.
Nh vo vic h tr a nn tng, cng nghJenkins gip khp kn quy trnh pht trin phnmm mt cch t ng theo m hnh Agile nichung v h thng tch hp lin tc ni ring.
Vi hn 400 plugin v c pht trin thm khngngng Jenkins tr thnh tr th c lc cho h
thng CI.
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
18/24
III. VAI TR CA JENSKIN TRONG CI (TT)
18
III.2 Khp kn quy trnh pht trin phn mm mtcch t ng (TT).
Source controlTool
SVN, VSS,
CSV, GIT,
Team Foundation
Server
Test Tool
TestLink,
Junit.Nunit,MSTest
Build Tool
Ant, Maven,
MSBuild,
Cmake
Notification
Code
Coverage
Virtual
Machines
Static
Analysis
Deploy
Server
Jenkins
Customer
Developer
And others
team
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
19/24
IV. LI CH JENKINS MANG LI
19
Tt c vi Jenkins hu nh l t ng.
Gim thi gian v chi ph.
Nng cao nng lc nhn vin?
C th tm gn li ch Jenkins mang li l FESS.
Faster.
Easier.
Safer.
Smarter.
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
20/24
V. NH HNG PHT TRIN AGILE & CI?
20
p dng mt phn ca Jenkins Build server
Version control
p dng test unit
Qun l d n theo m hnh Agile p dng tt c nhng h tr ca Jenkins trong CI
1
2
3
4
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
21/24
VI. KH KHN KHI P DNG AGILE & CI?
21
Thay i quan nim c v qun l d n?
Thit lp quy trnh ban u ph hp?
Thit lp h thng ?
K nng ca qun l d n, lp trnh vin, kimnh vin?
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
22/24
VII. THO LUN
22
?
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
23/24
VIII. DEMO
23
7/31/2019 Continuous Integration System with Jenkins - H THNG TCH HP LIN TC VI JENKINS
24/24
Ti liu tham kho & chng trnh ci t Jenkins My: 172.16.160.208
Ti khon: user/user
Th mc: Jenkins
24