SlideShare ist ein Scribd-Unternehmen logo
1 von 22
CQ5 Development Setup,
Maven Build and Deployment
with Dan Klco
Six Dimensions
www.sixdimensions.com
www.6dlabs.com
6/21/2012
2
About Me
 Yes, that is how my last name is spelled
 WCMS space for 5+ years
 EMC WebPublisher/Documentum, Drupal, CQ5…
 Participated in many WCM Implementations
 Small, medium and large projects
 Multiple different technologies and build methods
 Support, enhancement, migration and new implementations
3
Purpose
 What is the purpose of this webinar?
 To understand why your project structure, build process and
deploy process are important
 To explore methods of building and deploying CQ5 projects
 To learn about current best practices and industry-leading
tools
4
Why is my build process
important?
“Oh, I just wish I understood why. Why I should care.” – Zap
Brannigan
5
Bad build process results in…
 Chaos
 Not sharing complete code base
 No code/application versioning
 No single version of the ‘truth’
 Slow build process
 Increased testing turnaround
 Slower developer progress
 Difficult release process
6
Build Processes - Manual
 Build from CRXDE & Packages
 Advantages: Easy, works out of the box
 Disadvantages: chaos, code versioning difficult
 Build from CRXDE & SVN
 Advantages: share code, easy, works out of the box
 Disadvantages: more complicated builds, SVN integration
awkward
7
Build Processes - Automatic
 Build from IDE & ANT
 Advantages: Very customizable, automatic, any SCM
supported
 Disadvantages: lots of extra development, mostly not out of
the box
 Build from IDE & Maven
 Advantages: customizable, automatic, any SCM supported,
most tasks available as plugins, integrated dependency
management
 Disadvantages: not out of the box
8
Klco’s Hierarchy of Build Needs
9
Implementing Maven Builds
I preferred the notion of convention over configuration. I
wanted a project's infrastructure to look the same and work the
same…
-Jason van Zyl
10
Maven Build Rules
 IDE/platform agnostic
 Perform all operations
 Properties should be centralized
11
Project Structure
 Maven reactor, manages
building of sub-modules
 Major code functionality
separated into different
projects
 All code built into a single
package by the package
project
/Root
/Core
/Services
/Taglib
/Servlets
/Vault
/Package
12
Resolving Dependencies
 Hosted Maven Repository -
http://archiva.apache.org/docs/1.3.5/quick-start.html
 Advantages: most control, deploy custom artifacts
 Disadvantages: setup, hosting cost, requires internet access
 Local Maven Repository -
http://dev.day.com/content/kb/home/cq5/Development/maven/HowToUseCQ5AsMavenRepository.html
 Advantages: easy, always available
 Disadvantages: not shared with team
 Adobe Maven Repository -
http://repo.adobe.com/nexus/content/groups/public
 Advantages: latest code, can browse repo
 Disadvantages: cannot deploy artifacts, requires internet access
13
Developer Tools
 m2e – Maven Plugin for Eclipse
 Run Maven Builds inside Eclipse
 Import and configure Maven projects from any SCM
 VaultClipse - Import/Export Tool
 Quick Push/Pull from CQ Repositories
 J2EE Eclipse
 Includes JSP, CSS & XML Editors
14
Required Maven Plugins
Bundle Plugin for Maven
http://felix.apache.org/site/apache-felix-maven-bundle-plugin-
bnd.html
Used to enable Maven to create OSGi Bundles.
Apache Felix Maven SCR Plugin
http://felix.apache.org/site/apache-felix-maven-scr-
plugin.html
Generates SCR descriptors based on Apache Felix SCR
Annotations.
15
Deployment Options
 CQ Deploy Plugin
http://cq-deploy-plugin.6dlabs.com/
 Advantages: deploys bundles, legacy API, easy use, maven
central
 Disadvantages: not as full-featured
 Content Package Maven Plugin
http://dev.day.com/docs/en/cq/current/core/how_to/how_to_use_the_vlttool/vlt-mavenplugin.html
 Advantages: feature rich, easy use
 Disadvantages: does not deploy bundles
 Groovy/cURL Scripts
 Advantages: completely custom
 Disadvantages: more to maintain, not future-proof
16
Continuous Integration
Integrate Early and Often
-Gerard Meszaros
17
What is Continuous Integration
 Dedicated server or application
 Continuously builds and deploys code
 Runs automatically – can also be kicked off manually
18
Benefits of CI
 Integrate early and often
 Constant and frequent builds
 Automated deployments
 Early warnings of broken/conflicting code
 Automatic Unit Test & Code Quality checks
 Blame!
19
CI Best Practices
 Any CI Maven-capable Server will work
 CI Server should install to DEV
 Author and Publish
 Manual release process to QA & Prod
 Run at least daily
 Ideally every hour or two or when code is updated
 Same build process as Local Developers and releases
20
Code LifeCycle
21
Problems & Pitfalls
 CSS & designer Integration
 Large Team Sharing/Duplication
 Naming Conflicts
 Misalignment Between Teams (Integration Hell)
22
Thank You!
 6D Labs & Six Dimensions
 For more information please contact:
 TJ Iaciofano: tj.iaciofano@sixdimensions.com
 www.6dlabs.com
 www.sixdimensions.com

Weitere ähnliche Inhalte

Was ist angesagt?

What’s new in Visual Studio 2012 & .NET 4.5
What’s new in Visual Studio 2012 & .NET 4.5What’s new in Visual Studio 2012 & .NET 4.5
What’s new in Visual Studio 2012 & .NET 4.5Robert MacLean
 
WordPress development checklist
WordPress development checklistWordPress development checklist
WordPress development checklistBinh Quan Duc
 
Ryan king wp-plugin-presentation
Ryan king wp-plugin-presentationRyan king wp-plugin-presentation
Ryan king wp-plugin-presentationRyan King
 
Modern Web Application Development Workflow - EclipseCon US 2014
Modern Web Application Development Workflow - EclipseCon US 2014Modern Web Application Development Workflow - EclipseCon US 2014
Modern Web Application Development Workflow - EclipseCon US 2014Stéphane Bégaudeau
 
Integration Testing with Behat drupal
Integration Testing with Behat drupalIntegration Testing with Behat drupal
Integration Testing with Behat drupalOscar Merida
 
Modern Web Application Development Workflow - EclipseCon France 2014
Modern Web Application Development Workflow - EclipseCon France 2014Modern Web Application Development Workflow - EclipseCon France 2014
Modern Web Application Development Workflow - EclipseCon France 2014Stéphane Bégaudeau
 
Continuous Integration In A PHP World
Continuous Integration In A PHP WorldContinuous Integration In A PHP World
Continuous Integration In A PHP WorldIdaf_1er
 
"How to deploy to production 10 times a day" Андрей Шумада
"How to deploy to production 10 times a day" Андрей Шумада"How to deploy to production 10 times a day" Андрей Шумада
"How to deploy to production 10 times a day" Андрей ШумадаFwdays
 
TDC2016POA | Trilha Web - Garanta a segurança de suas aplicações Web com Keyc...
TDC2016POA | Trilha Web - Garanta a segurança de suas aplicações Web com Keyc...TDC2016POA | Trilha Web - Garanta a segurança de suas aplicações Web com Keyc...
TDC2016POA | Trilha Web - Garanta a segurança de suas aplicações Web com Keyc...tdc-globalcode
 
Maven 2 - more than a build tool
Maven 2 - more than a build toolMaven 2 - more than a build tool
Maven 2 - more than a build toolHarald Soevik
 
Glass Fish Esb Launch Feb10 2009 Part A Frank K
Glass Fish Esb Launch Feb10 2009 Part A Frank KGlass Fish Esb Launch Feb10 2009 Part A Frank K
Glass Fish Esb Launch Feb10 2009 Part A Frank KEduardo Pelegri-Llopart
 
Hands on continouous delivery, I TAKE 2014
Hands on continouous delivery, I TAKE 2014Hands on continouous delivery, I TAKE 2014
Hands on continouous delivery, I TAKE 2014Ioan Eugen Stan
 
Continuous Integration With Jenkins
Continuous Integration With JenkinsContinuous Integration With Jenkins
Continuous Integration With JenkinsEdureka!
 

Was ist angesagt? (20)

Maven
MavenMaven
Maven
 
What’s new in Visual Studio 2012 & .NET 4.5
What’s new in Visual Studio 2012 & .NET 4.5What’s new in Visual Studio 2012 & .NET 4.5
What’s new in Visual Studio 2012 & .NET 4.5
 
Selenium cloud
Selenium cloudSelenium cloud
Selenium cloud
 
WordPress development checklist
WordPress development checklistWordPress development checklist
WordPress development checklist
 
Ryan king wp-plugin-presentation
Ryan king wp-plugin-presentationRyan king wp-plugin-presentation
Ryan king wp-plugin-presentation
 
Modern Web Application Development Workflow - EclipseCon US 2014
Modern Web Application Development Workflow - EclipseCon US 2014Modern Web Application Development Workflow - EclipseCon US 2014
Modern Web Application Development Workflow - EclipseCon US 2014
 
Integration Testing with Behat drupal
Integration Testing with Behat drupalIntegration Testing with Behat drupal
Integration Testing with Behat drupal
 
Modern Web Application Development Workflow - EclipseCon France 2014
Modern Web Application Development Workflow - EclipseCon France 2014Modern Web Application Development Workflow - EclipseCon France 2014
Modern Web Application Development Workflow - EclipseCon France 2014
 
Spring boot competitive tests
Spring boot competitive testsSpring boot competitive tests
Spring boot competitive tests
 
Continuous Integration In A PHP World
Continuous Integration In A PHP WorldContinuous Integration In A PHP World
Continuous Integration In A PHP World
 
Blazor v1.1
Blazor v1.1Blazor v1.1
Blazor v1.1
 
"How to deploy to production 10 times a day" Андрей Шумада
"How to deploy to production 10 times a day" Андрей Шумада"How to deploy to production 10 times a day" Андрей Шумада
"How to deploy to production 10 times a day" Андрей Шумада
 
TDC2016POA | Trilha Web - Garanta a segurança de suas aplicações Web com Keyc...
TDC2016POA | Trilha Web - Garanta a segurança de suas aplicações Web com Keyc...TDC2016POA | Trilha Web - Garanta a segurança de suas aplicações Web com Keyc...
TDC2016POA | Trilha Web - Garanta a segurança de suas aplicações Web com Keyc...
 
Maven 2 - more than a build tool
Maven 2 - more than a build toolMaven 2 - more than a build tool
Maven 2 - more than a build tool
 
Glass Fish Esb Launch Feb10 2009 Part A Frank K
Glass Fish Esb Launch Feb10 2009 Part A Frank KGlass Fish Esb Launch Feb10 2009 Part A Frank K
Glass Fish Esb Launch Feb10 2009 Part A Frank K
 
Spring competitive tests
Spring competitive testsSpring competitive tests
Spring competitive tests
 
Confoo
ConfooConfoo
Confoo
 
Spring boot competitive tests
Spring boot competitive testsSpring boot competitive tests
Spring boot competitive tests
 
Hands on continouous delivery, I TAKE 2014
Hands on continouous delivery, I TAKE 2014Hands on continouous delivery, I TAKE 2014
Hands on continouous delivery, I TAKE 2014
 
Continuous Integration With Jenkins
Continuous Integration With JenkinsContinuous Integration With Jenkins
Continuous Integration With Jenkins
 

Andere mochten auch

SteriPack Service_Company Profile 2016
SteriPack Service_Company Profile 2016SteriPack Service_Company Profile 2016
SteriPack Service_Company Profile 2016Andrey Petropavlovskiy
 
Uso de las tics en el campo educativo e industrial
Uso de las tics  en el campo educativo e industrialUso de las tics  en el campo educativo e industrial
Uso de las tics en el campo educativo e industrialrachell06
 
FINANÇAS COMPORTAMENTAIS:
FINANÇAS COMPORTAMENTAIS:FINANÇAS COMPORTAMENTAIS:
FINANÇAS COMPORTAMENTAIS:Sayurï Yamane
 
Documentos primaria-sesiones-unidad03-sexto grado-matematica-6g-u3-mat-sesion07
Documentos primaria-sesiones-unidad03-sexto grado-matematica-6g-u3-mat-sesion07Documentos primaria-sesiones-unidad03-sexto grado-matematica-6g-u3-mat-sesion07
Documentos primaria-sesiones-unidad03-sexto grado-matematica-6g-u3-mat-sesion07Teresa Clotilde Ojeda Sánchez
 
CQ5 Development Setup, Maven Build and Deployment
CQ5 Development Setup, Maven Build and DeploymentCQ5 Development Setup, Maven Build and Deployment
CQ5 Development Setup, Maven Build and Deployment6D Global
 
Documentos primaria-sesiones-unidad03-sexto grado-matematica-6g-u3-mat-sesion08
Documentos primaria-sesiones-unidad03-sexto grado-matematica-6g-u3-mat-sesion08Documentos primaria-sesiones-unidad03-sexto grado-matematica-6g-u3-mat-sesion08
Documentos primaria-sesiones-unidad03-sexto grado-matematica-6g-u3-mat-sesion08Teresa Clotilde Ojeda Sánchez
 
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresMaster Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresFrançois Le Droff
 
Adobe Experience Manager - 6th Edition by Cedric Huesler
Adobe Experience Manager - 6th Edition by Cedric HueslerAdobe Experience Manager - 6th Edition by Cedric Huesler
Adobe Experience Manager - 6th Edition by Cedric HueslerAEM HUB
 
AEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentAEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentGabriel Walt
 
Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM ICF CIRCUIT
 

Andere mochten auch (11)

SteriPack Service_Company Profile 2016
SteriPack Service_Company Profile 2016SteriPack Service_Company Profile 2016
SteriPack Service_Company Profile 2016
 
Uso de las tics en el campo educativo e industrial
Uso de las tics  en el campo educativo e industrialUso de las tics  en el campo educativo e industrial
Uso de las tics en el campo educativo e industrial
 
FINANÇAS COMPORTAMENTAIS:
FINANÇAS COMPORTAMENTAIS:FINANÇAS COMPORTAMENTAIS:
FINANÇAS COMPORTAMENTAIS:
 
Documentos primaria-sesiones-unidad03-sexto grado-matematica-6g-u3-mat-sesion07
Documentos primaria-sesiones-unidad03-sexto grado-matematica-6g-u3-mat-sesion07Documentos primaria-sesiones-unidad03-sexto grado-matematica-6g-u3-mat-sesion07
Documentos primaria-sesiones-unidad03-sexto grado-matematica-6g-u3-mat-sesion07
 
CQ5 Development Setup, Maven Build and Deployment
CQ5 Development Setup, Maven Build and DeploymentCQ5 Development Setup, Maven Build and Deployment
CQ5 Development Setup, Maven Build and Deployment
 
Documentos primaria-sesiones-unidad03-sexto grado-matematica-6g-u3-mat-sesion08
Documentos primaria-sesiones-unidad03-sexto grado-matematica-6g-u3-mat-sesion08Documentos primaria-sesiones-unidad03-sexto grado-matematica-6g-u3-mat-sesion08
Documentos primaria-sesiones-unidad03-sexto grado-matematica-6g-u3-mat-sesion08
 
Divisores e múlti
Divisores e múltiDivisores e múlti
Divisores e múlti
 
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresMaster Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
 
Adobe Experience Manager - 6th Edition by Cedric Huesler
Adobe Experience Manager - 6th Edition by Cedric HueslerAdobe Experience Manager - 6th Edition by Cedric Huesler
Adobe Experience Manager - 6th Edition by Cedric Huesler
 
AEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentAEM Best Practices for Component Development
AEM Best Practices for Component Development
 
Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM
 

Ähnlich wie CQ5 Development Setup, Maven Build and Deployment

SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsAmr E. Mohamed
 
Continous Integration: A Case Study
Continous Integration: A Case StudyContinous Integration: A Case Study
Continous Integration: A Case StudyTalentica Software
 
Lublin Startup Festival - Mobile Architecture Design Patterns
Lublin Startup Festival - Mobile Architecture Design PatternsLublin Startup Festival - Mobile Architecture Design Patterns
Lublin Startup Festival - Mobile Architecture Design PatternsKarol Szmaj
 
Continuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 MedellinContinuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 MedellinDiego Garber
 
Continuous Integration: A Case Study
Continuous Integration: A Case StudyContinuous Integration: A Case Study
Continuous Integration: A Case StudyIndicThreads
 
Tech talk live alfresco add ons
Tech talk live alfresco add onsTech talk live alfresco add ons
Tech talk live alfresco add onsAlfresco Software
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0Jasmine Conseil
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaAmazon Web Services
 
Aleksandr Kutsan "Managing Dependencies in C++"
Aleksandr Kutsan "Managing Dependencies in C++"Aleksandr Kutsan "Managing Dependencies in C++"
Aleksandr Kutsan "Managing Dependencies in C++"LogeekNightUkraine
 
NI Package Manager
NI Package ManagerNI Package Manager
NI Package ManagerDMC, Inc.
 
Jenkins & Selenium
Jenkins & SeleniumJenkins & Selenium
Jenkins & Seleniumadamcarmi
 
Automated Web Testing With Selenium
Automated Web Testing With SeleniumAutomated Web Testing With Selenium
Automated Web Testing With SeleniumJodie Miners
 
What Visual Studio Code can do for Java Development
What Visual Studio Code can do for Java DevelopmentWhat Visual Studio Code can do for Java Development
What Visual Studio Code can do for Java DevelopmentEd Burns
 
Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Mike McGarr
 
Bring-your-ML-Project-into-Production-v2.pdf
Bring-your-ML-Project-into-Production-v2.pdfBring-your-ML-Project-into-Production-v2.pdf
Bring-your-ML-Project-into-Production-v2.pdfLiang Yan
 
JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxGrace Jansen
 
Automating development-operations-v1
Automating development-operations-v1Automating development-operations-v1
Automating development-operations-v1Sumanth Vepa
 
Selenium Introduction and IDE
Selenium Introduction and IDESelenium Introduction and IDE
Selenium Introduction and IDEMurageppa-QA
 

Ähnlich wie CQ5 Development Setup, Maven Build and Deployment (20)

SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-Tools
 
Continous Integration: A Case Study
Continous Integration: A Case StudyContinous Integration: A Case Study
Continous Integration: A Case Study
 
Lublin Startup Festival - Mobile Architecture Design Patterns
Lublin Startup Festival - Mobile Architecture Design PatternsLublin Startup Festival - Mobile Architecture Design Patterns
Lublin Startup Festival - Mobile Architecture Design Patterns
 
Continuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 MedellinContinuous Delivery Agiles 2014 Medellin
Continuous Delivery Agiles 2014 Medellin
 
Continuous Integration: A Case Study
Continuous Integration: A Case StudyContinuous Integration: A Case Study
Continuous Integration: A Case Study
 
Tech talk live alfresco add ons
Tech talk live alfresco add onsTech talk live alfresco add ons
Tech talk live alfresco add ons
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
 
Aleksandr Kutsan "Managing Dependencies in C++"
Aleksandr Kutsan "Managing Dependencies in C++"Aleksandr Kutsan "Managing Dependencies in C++"
Aleksandr Kutsan "Managing Dependencies in C++"
 
NI Package Manager
NI Package ManagerNI Package Manager
NI Package Manager
 
Jenkins & Selenium
Jenkins & SeleniumJenkins & Selenium
Jenkins & Selenium
 
Automated Web Testing With Selenium
Automated Web Testing With SeleniumAutomated Web Testing With Selenium
Automated Web Testing With Selenium
 
What Visual Studio Code can do for Java Development
What Visual Studio Code can do for Java DevelopmentWhat Visual Studio Code can do for Java Development
What Visual Studio Code can do for Java Development
 
Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)
 
Bring-your-ML-Project-into-Production-v2.pdf
Bring-your-ML-Project-into-Production-v2.pdfBring-your-ML-Project-into-Production-v2.pdf
Bring-your-ML-Project-into-Production-v2.pdf
 
JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptx
 
Automating development-operations-v1
Automating development-operations-v1Automating development-operations-v1
Automating development-operations-v1
 
Agile sites @ telmore
Agile sites @ telmore Agile sites @ telmore
Agile sites @ telmore
 
Code One 2018 maven
Code One 2018   mavenCode One 2018   maven
Code One 2018 maven
 
Selenium Introduction and IDE
Selenium Introduction and IDESelenium Introduction and IDE
Selenium Introduction and IDE
 

Kürzlich hochgeladen

Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirtrahman018755
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGAPNIC
 
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...sonatiwari757
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Servicegwenoracqe6
 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsstephieert
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersDamian Radcliffe
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607dollysharma2066
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLimonikaupta
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...tanu pandey
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxellan12
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Sheetaleventcompany
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...APNIC
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445ruhi
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)Damian Radcliffe
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girladitipandeya
 

Kürzlich hochgeladen (20)

Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...
Call Girls in Mayur Vihar ✔️ 9711199171 ✔️ Delhi ✔️ Enjoy Call Girls With Our...
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girls
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
 
Call Girls In Noida 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In Noida 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICECall Girls In Noida 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In Noida 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girls
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
 

CQ5 Development Setup, Maven Build and Deployment

  • 1. CQ5 Development Setup, Maven Build and Deployment with Dan Klco Six Dimensions www.sixdimensions.com www.6dlabs.com 6/21/2012
  • 2. 2 About Me  Yes, that is how my last name is spelled  WCMS space for 5+ years  EMC WebPublisher/Documentum, Drupal, CQ5…  Participated in many WCM Implementations  Small, medium and large projects  Multiple different technologies and build methods  Support, enhancement, migration and new implementations
  • 3. 3 Purpose  What is the purpose of this webinar?  To understand why your project structure, build process and deploy process are important  To explore methods of building and deploying CQ5 projects  To learn about current best practices and industry-leading tools
  • 4. 4 Why is my build process important? “Oh, I just wish I understood why. Why I should care.” – Zap Brannigan
  • 5. 5 Bad build process results in…  Chaos  Not sharing complete code base  No code/application versioning  No single version of the ‘truth’  Slow build process  Increased testing turnaround  Slower developer progress  Difficult release process
  • 6. 6 Build Processes - Manual  Build from CRXDE & Packages  Advantages: Easy, works out of the box  Disadvantages: chaos, code versioning difficult  Build from CRXDE & SVN  Advantages: share code, easy, works out of the box  Disadvantages: more complicated builds, SVN integration awkward
  • 7. 7 Build Processes - Automatic  Build from IDE & ANT  Advantages: Very customizable, automatic, any SCM supported  Disadvantages: lots of extra development, mostly not out of the box  Build from IDE & Maven  Advantages: customizable, automatic, any SCM supported, most tasks available as plugins, integrated dependency management  Disadvantages: not out of the box
  • 9. 9 Implementing Maven Builds I preferred the notion of convention over configuration. I wanted a project's infrastructure to look the same and work the same… -Jason van Zyl
  • 10. 10 Maven Build Rules  IDE/platform agnostic  Perform all operations  Properties should be centralized
  • 11. 11 Project Structure  Maven reactor, manages building of sub-modules  Major code functionality separated into different projects  All code built into a single package by the package project /Root /Core /Services /Taglib /Servlets /Vault /Package
  • 12. 12 Resolving Dependencies  Hosted Maven Repository - http://archiva.apache.org/docs/1.3.5/quick-start.html  Advantages: most control, deploy custom artifacts  Disadvantages: setup, hosting cost, requires internet access  Local Maven Repository - http://dev.day.com/content/kb/home/cq5/Development/maven/HowToUseCQ5AsMavenRepository.html  Advantages: easy, always available  Disadvantages: not shared with team  Adobe Maven Repository - http://repo.adobe.com/nexus/content/groups/public  Advantages: latest code, can browse repo  Disadvantages: cannot deploy artifacts, requires internet access
  • 13. 13 Developer Tools  m2e – Maven Plugin for Eclipse  Run Maven Builds inside Eclipse  Import and configure Maven projects from any SCM  VaultClipse - Import/Export Tool  Quick Push/Pull from CQ Repositories  J2EE Eclipse  Includes JSP, CSS & XML Editors
  • 14. 14 Required Maven Plugins Bundle Plugin for Maven http://felix.apache.org/site/apache-felix-maven-bundle-plugin- bnd.html Used to enable Maven to create OSGi Bundles. Apache Felix Maven SCR Plugin http://felix.apache.org/site/apache-felix-maven-scr- plugin.html Generates SCR descriptors based on Apache Felix SCR Annotations.
  • 15. 15 Deployment Options  CQ Deploy Plugin http://cq-deploy-plugin.6dlabs.com/  Advantages: deploys bundles, legacy API, easy use, maven central  Disadvantages: not as full-featured  Content Package Maven Plugin http://dev.day.com/docs/en/cq/current/core/how_to/how_to_use_the_vlttool/vlt-mavenplugin.html  Advantages: feature rich, easy use  Disadvantages: does not deploy bundles  Groovy/cURL Scripts  Advantages: completely custom  Disadvantages: more to maintain, not future-proof
  • 16. 16 Continuous Integration Integrate Early and Often -Gerard Meszaros
  • 17. 17 What is Continuous Integration  Dedicated server or application  Continuously builds and deploys code  Runs automatically – can also be kicked off manually
  • 18. 18 Benefits of CI  Integrate early and often  Constant and frequent builds  Automated deployments  Early warnings of broken/conflicting code  Automatic Unit Test & Code Quality checks  Blame!
  • 19. 19 CI Best Practices  Any CI Maven-capable Server will work  CI Server should install to DEV  Author and Publish  Manual release process to QA & Prod  Run at least daily  Ideally every hour or two or when code is updated  Same build process as Local Developers and releases
  • 21. 21 Problems & Pitfalls  CSS & designer Integration  Large Team Sharing/Duplication  Naming Conflicts  Misalignment Between Teams (Integration Hell)
  • 22. 22 Thank You!  6D Labs & Six Dimensions  For more information please contact:  TJ Iaciofano: tj.iaciofano@sixdimensions.com  www.6dlabs.com  www.sixdimensions.com

Hinweis der Redaktion

  1. Talk up CQ Deploy Plugin Just talk quick about the Content Package Maven Plugin Talk about issues in migrating between CQ versions with Groovy, cUrl, etc scripts, you have to test across multiple versions & support new versions
  2. Talk real quick about options: Bamboo – Let someone else deal with it  Jenkins – so simple your grandma could install it
  3. Talk about STMicro w/ Toby Integrating with teams in 3 countries Value of knowing when build breaks… even at 3am
  4. CSS / Designer integration – always awkward Large team sharing – talk about gm.com Naming conflicts – talk about duplicate components, etc Misalignment – talk about cooper with global vs standard dev, what happens when one project gets behind