Xem mẫu
-
Maven project automation for
dummies
Aino Andriessen
AMIS
1
dec 20, 2007
- Continuous Integration
Continuous integration is the practice where
the work of all the developers are integrated,
analyzed and verified on a regular basis,
preferably multiple times a day.
It takes the latest situation from the source
control system, performs unit tests, makes a
build, deploys the application, performs
integration tests and creates reports about
these steps and communicates them with the
team, all automatically without human
interaction.
2
dec 20, 2007
- Conditions
Infrastructure
Scripting
No IDE
3
dec 20, 2007
- Scripting
Maven
ant
make
shell scripts
sql scripts
...
4
dec 20, 2007
- Demo
5
dec 20, 2007
- Maven execution info
[INFO] Scanning for projects...
[INFO] Reactor build order:
[INFO] HR1
[INFO] HR1 model
[INFO] HR1 viewController
[INFO] HR1 ear
[INFO] HR1 integration
[INFO] -------------------------
Downloading: http://repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.jar
118K downloaded
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] HR1 ................................................... SUCCESS [3.003s]
[INFO] HR1 model ............................................. SUCCESS [7.866s]
[INFO] HR1 viewController .................................... SUCCESS [54.451s]
[INFO] HR1 ear ............................................... SUCCESS [14.591s]
[INFO] HR1 integration ....................................... SUCCESS [0.312s]
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 minute 20 seconds
[INFO] Finished at: Fri Jun 01 17:32:01 CEST 2007
[INFO] Final Memory: 10M/18M
[INFO] ------------------------------------------------------------------------
6
dec 20, 2007
- mvn test
[INFO] [surefire:test]
[INFO] Surefire report directory: D:\projects\myprojects\odtugDemo\hr1\model\tar
get\surefire-reports
-------------------------------------------------------
TESTS
-------------------------------------------------------
Running nl.amis.demo.odtug.model.queries.OdtugTstViewTest
Jun 1, 2007 7:04:22 PM oracle.adf.share.config.ADFConfigFactory findOrCreateADFC
onfig
INFO: oracle.adf.share.config.ADFConfigFactory No META-INF/adf-config.xml found
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.606 sec
Running nl.amis.demo.odtug.model.queries.RegionsViewTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.031 sec
Running nl.amis.adf.fwk.test.Java5Test
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 sec
Running nl.amis.demo.odtug.model.queries.JobsViewTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.046 sec
Running nl.amis.demo.odtug.model.queries.EmployeesViewTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.032 sec
Running nl.amis.demo.odtug.model.queries.DepartmentsViewTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 sec
Running nl.amis.demo.odtug.model.queries.LocationsViewTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 sec
Running nl.amis.demo.odtug.model.queries.CountriesViewTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 sec
Results :
Tests run: 8, Failures: 0, Errors: 0, Skipped: 0
7
dec 20, 2007
- mvn package
[INFO] Building HR1
[INFO] task-segment: [package]
[INFO] ---------------------------
[INFO] [jar:jar]
[INFO] Building jar: D:\projects\myprojects\odtugDemo\hr1\model\target\ hr1-model-1.0-SNAPSHOT.jar
[INFO] -------------------------------------------------------------------------
[INFO] [war:war]
[INFO] Building war: D:\projects\myprojects\odtugDemo\hr1\viewController\target\ hr1-viewController-1.0-
SNAPSHOT.war
[INFO] [ear:ear]
[INFO] Copying artifact[war:nl.amis.demo.odtug.hr1:hr1-viewController:1.0-SNAPSHOT] to[ hr1-viewController-1.0-
SNAPSHOT.war]
[INFO] Copying artifact[jar:log4j:log4j:1.2.12] to[log4j-1.2.12.jar]
[INFO] Copying artifact[jar:commons-logging:commons-logging:1.0.4] to[commons-logging-1.0.4.jar]
[INFO] Could not find manifest file: D:\projects\myprojects\odtugDemo\hr1\ear\src\main\application\META-
INF\MANIFEST.MF - Generating one
[INFO] Building jar: D:\projects\myprojects\odtugDemo\hr1\ear\target\ hr1-ear-1.0-SNAPSHOT.ear
[INFO] -------------------------------------------------------------------------
8
dec 20, 2007
- mvn exec:exec -PlocalOC4J
[INFO] [exec:exec]
[[INFO] 07/06/01 17:21:22 Notification ==> Uploading file hr1.ear ...
[INFO]
[INFO] 07/06/01 17:21:22 Notification ==>Application Deployer for hr1 STARTS.
[INFO]
[INFO] 07/06/01 17:21:22 Notification ==>Copy the archive to
:\server\oc4j_101310\j2ee\home\applications\hr1.ear
[INFO]
[INFO] 07/06/01 17:21:22 Notification ==>Initialize C:\server\oc4j_101310\j2ee\home\applications\hr1.ear begins...
[INFO]
[INFO] 07/06/01 17:21:24 Notification ==>Initialize hr1-viewController-1.0-SNAPSHOT begins...
[INFO]
[INFO] 07/06/01 17:21:24 Notification ==>Initialize hr1-viewController-1.0-SNAPSHOT ends...
[INFO]
[INFO] 07/06/01 17:21:24 Notification ==>Started application : hr1
[INFO]
[INFO] 07/06/01 17:21:24 Notification ==>Binding web application(s) to site default-web-site begins...
[INFO]
[INFO] 07/06/01 17:21:24 Notification ==>Binding hr1-viewController-1.0-SNAPSHOT web-module for application
hr1 to site default-web-site under context root /hr1
[INFO]
[INFO] 07/06/01 17:21:31 Notification ==>Initializing Servlet: javax.faces.webapp.FacesServlet for web application
hr1-viewController-1.0-SNAPSHOT
[INFO]
[INFO] 07/06/01 17:21:31 Notification ==>Binding web application(s) to site default-web-site ends...
[INFO]
[INFO] 07/06/01 17:21:31 Notification ==>Application Deployer for hr1 COMPLETES .
Operation time: 8273 msecs
9
dec 20, 2007
- mvn verify -PlocalOC4J
10
dec 20, 2007
- mvn deploy
[INFO] [deploy:deploy]
[INFO] Retrieving previous build number from ATAMaven2SnapshotsRepo
Uploading: file:\\amis-test-aa\maven2snapshots/nl/amis/demo/odtug/hr1/hr1-model/1.0-SNAPSHOT/hr1-model-
1.0-20070601.171522-4.jar
50K uploaded
[INFO] Retrieving previous metadata from ATAMaven2SnapshotsRepo
[INFO] Uploading repository metadata for: 'snapshot nl.amis.demo.odtug.hr1:hr1-model:1.0-SNAPSHOT'
[INFO] -------------------------------------------------------------------------
11
dec 20, 2007
- mvn site
12
dec 20, 2007
- Build automation server
13
dec 20, 2007
- Demo Summary
ADF Faces application
Tasks
Unittesting
Make a build
Deploy ear file to OC4J
Perform integrationtests
Share artifacts
Share information
Without manual intervention and JDeveloper !
14
dec 20, 2007
- Infrastructure
15
dec 20, 2007
- Software Studio
16
dec 20, 2007
- Software development
The development environment
Source control
Delivery environments
Issue management
Library management
Build automation / continuous integration
Reporting and documentation
Communication
17
dec 20, 2007
- Nightly build
Continuum
Scheduler
http://ci.amis.nl:8080/continuum/servlet/continuum
18
dec 20, 2007
- 'Scripting' with Maven
19
dec 20, 2007
- Maven
Project Object Model
Project objects
xml file
Build Lifecycle
actions / goals (tasks)
Dependency (library, artifact) Management
Reporting and Documentation
...
20
dec 20, 2007
nguon tai.lieu . vn