SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

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!
 

Mais procurados (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
 

Destaque

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
 

Destaque (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
 

Semelhante a 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
 

Semelhante a 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
 

Último

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
 
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
 
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
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtrahman018755
 
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.soniya singh
 
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.soniya singh
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableSeo
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...Escorts Call Girls
 
'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
 
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
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...Diya Sharma
 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubaikojalkojal131
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Call Girls in Nagpur High Profile
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Servicesexy call girls service in goa
 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...SUHANI PANDEY
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...SUHANI PANDEY
 
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
 

Último (20)

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
 
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
 
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
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
 
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
 
'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...
 
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
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
 
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...
 

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

Notas do Editor

  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