SlideShare a Scribd company logo
Nuxeo EP 5 How to create a virtualized continuous integration machine  with VmWare and an Ubuntu Server 7.10 for compilation and integration of  a Nuxeo Module Jean Marie PASCAL [email_address]
Install Ubuntu 7.10 Server (VmWare + OS Installation) Install mandatory continuous integration  Install Continuum & Archiva Integrate a Nuxeo Module Project to SVN + Deployment to Archiva  Module’s Continuous Integration Goals
Configuration Used Operating System :  Windows XP SP2 Processor Intel Core 2 Duo Computer memory 2Gb (1Gb Minimum Required)
Pre-requisites  Installation of VmWare  (Server installation) Putty  (Command lines) WinSCP  (File Transfert) Install a development environment with Eclipse CF. Slideshow :  Nuxeo 5 - Installation avec Eclipse CF. Screencast :  Nuxeo 5 - Création d’un type de document Basic knowledge on Linux commands
INTRODUCTION
Architecture IntegrationContinue Ubuntu Server 7.10  Apache Continuum 1.1 Apache Archiva 1.0.2 Apache Maven 2.0.9 MySQL 5.0.45 Sun JDK 1.6.0.03 Subversion SSH PC-Developpement Windows XP SP2  VmWare Workstation 5.5 Sun JDK 1.5.14  Eclipse 3.3 Apache Ant 1.7.0 Apache Maven 2.0.8 Jboss AS 4.05 MySQL GUI Tools Putty WinSCP
Architecture 1 2 3 4 5 6
How to create a VMWare Virtual Machine   Ubuntu 7.10  Installation and Configuration
Creating a Virtual Machine Clic on the picture to see a screencast
Ubuntu Installation  Clic on the picture to see a screencast For more details about Ubuntu 7.10 Installation http://www.ubuntugeek.com/ubuntu-710-gutsy-gibbon-lamp-server-setup.html
Ubuntu configuration  SSH installation  Goal : Creating communication between Putty/Winscp Ubuntu VmWare Server. Type the command :  sudo apt-get install ssh Keep your Server IP ifconfig
Ubuntu configuration  Verify your connexion with WinSCP Login
Ubuntu configuration  Verify your connexion with Putty Login
Enabling Multiverse repositories Connect to your Ubuntu Server with putty : Open  sources.list  file sudo vi sources.list Add following lines :  For more details about repositories  :   https://wiki.ubuntu.com/AlwaysEnableUniverseMultiverse?highlight=%28multiverse%29
Updating your system Connect to your Ubuntu Server with putty   : sudo apt-get update sudo apt-get upgrade For more details about apt-get command https://help.ubuntu.com/community/AptGet/Howto?action=show&redirect=AptGet
Modifying rights Modifying rights on installation folder Create « Integration » group sudo groupadd groupe_integration Add user « integrateur » to « Integration » group sudo usermod –a –G groupe_integration integrateur Modify right on folder /opt/ Sudo chown –R integrateur:groupe_integration /opt/ For more details about :  https://help.ubuntu.com/community/AddUsersHowto
  Installation of mandatory Software to  accomplish continuous integration
JVM Installation Connect to your Ubuntu Server with putty   : sudo apt-get install sun-java6-jdk
Define the environment variables Define the CLASSPATH & JAVA_HOME variable  :  vi /home/integrateur/.bashrc Add following lines at the end of the file Restart Putty Check the following message is displayed
MySQL installation  Connect to your Ubuntu Server with putty   : sudo apt-get install mysql-server For more details on mysql installation :  https://help.ubuntu.com/community/JDBCAndMySQL?highlight=%28mysql%29
MySQL Installation  Modifying rights to permit remote access sudo vi /etc/mysql/my.cnf Comment the line Edite this line  Connect to MySQL with command lines sudo mysql –u root –p To prompt, execute this commands grant all privileges on *.* to 'root'@‘<ip.address>' with grant option; set password for 'root'@’<ip.address'=password(’<password>');
MySQL Installation  Restart Mysql sudo /etc/init.d/mysql restart Check yout installation mysql -u root -p <password>
MySQL GUI Tools Installation Download the last version of MySQL GUI Tools Ressource  :  Mysql  GUI Tools Follow installation wizard instructions
MySQL GUI Tools Installation  Run MySQL Administrator Check your connexion
Maven Installation  Download the last version of Maven Ressource  :  Maven.apache.org Upload this file to folder « /opt/ » with WinSCP Unzip the file tar –xvf apache-maven-2.0.9-bin.tar.gz
Define the environment variables Define  MAVEN_HOME & PATH variables:  vi /home/integrateur/.bashrc Add following lines at the end of the file Restart Putty Check your installation
Subversion Installation Connect to your Ubuntu Server with putty   : Install SVN sudo apt-get install subversion Create an installation folder  mkdir /opt/svn Go to this directory and create a new repository  svnadmin create depot
SVN Installation Edit svnserve.conf file vi /opt/svn/depot/svnserve.conf uncomment all lines beginning with #  except the line with « authz-db » (Don’t forget to erase the first whitespace on the beginning) Edit passwd file vi /opt/svn/depot/passwd Add following lines Start svn daemon svnserve –d –r /opt/svn/depot
SVN Installation For more informations :  https://help.ubuntu.com/community/Subversion http://svnbook.red-bean.com/ http://doc.ubuntu-fr.org/subversion
Continuum Installation
Continuum Installation Download the last version of Continuum Ressource  :  continuum.apache.org Upload this file to « /opt/ » directory with WinSCP Unzip it tar –xvf apache-continuum-1.1.tar.gz
Continuum Installation :  Binding with MySQL Download the last version of MySQL Connector (jdbc) Ressource  :  MySQL   Connector /J5.0 Unzip on your local machine  Extract the file  mysql-connector-java-5.0.8-bin.jar
Continuum Installation :  Binding with MySQL Import (local)  plexus-appserver-service-jetty-2.0-alpha-8.sar  file living in  /opt/continuum-1.1/services  with WinSCP Use a tool like WinZip to add  mysql-connector-java-5.0.8-bin.jar  to this file on the directory  lib Export this file to  /opt/continuum-1.1/services   with WinSCP
Continuum Installation :  Creating Database Connect to MySQL with GUI Tools Create a schema  continuum  and  users Right-clic
Continuum Installation :  Creating a user Create  Integrateur  user
Continuum Installation :  Privilege on database Give all privileges to  integrateur  on  continuum  and  users  schemas
Continuum Installation  Edit  /opt/continuum-1.1/conf/plexus.xml  file Change datasources declaration for  continuum  and  users
Continuum Installation  Edit  /opt/continuum-1.1/conf/plexus.xml  file  Change jetty port to  8090
Continuum Installation Connect to your Ubuntu Server with putty   Run continuum sh /opt/continuum-1.1/bin/linux-x86-32/run.sh start Open a web browser Link :  http://<IP.ServeurVM>:8090/continuum/
First Launch Complete the administrator form Next login
First Launch By default, we keep the original configuration Continuum is now ready.
Daemon installation How to define a daemon to run continnum in each start Connect to your Ubuntu server with putty ln -s /opt/continuum-1.1/bin/linux-x86-32/run.sh /etc/init.d/continuum sudo update-rc.d -f continuum defaults 99
Archiva Installation
Archiva Installation  Download the last version of Archiva Ressource  :  archiva.apache.org Upload this file to  /opt/ with WinSCP Unzip it tar –xvf apache-archiva-1.0.2.tar.gz
Archiva  Installation  :  Binding with MySQL Import (locally)  plexus-appserver-service-jetty-2.0-alpha-8.sar  in  /opt/apache-archiva-1.0.2/services  directory with WinSCP Use a tool like WinZip to add  mysql-connector-java-5.0.8-bin.jar  file to this file on the directory  lib Export this file to  /opt/apache-archiva-1.0.2/services   with WinSCP
Archiva Installation :  Creating Database Connect to MySQL with GUI Tools Create a schema  archiva Right-clic
Archiva Installation:  Privileges on database Give all privileges to  integrateur  on  archiva  schema
Archiva Installation  Edit  /opt/apache-archiva-1.0.2/conf/plexus.xml  file Change datasources declaration for  archiva  and  users
Installation d’Archiva Edit  /opt/apache-archiva-1.0.2/conf/plexus.xml   Change jetty port to  8091
Archiva Installation  Connect to Ubuntu with Putty  Run Archiva sh /opt/apache-archiva-1.0.2/bin/linux-x86-32/run.sh start Open a web browser  Link :  http://<IP.ServeurVM>:8091/archiva/
First Launch No Administrator form to complete !  It’s the same as Continuum Login to admin
Archiva Administration Add all « Proxy Connectors » to Nuxeo Respositories (releases)
Archiva Administration  Add all « Proxy Connectors » to Nuxeo Respositories (Snapshots)
Archiva Administration Do the same operation defined in previous slides to have the same results as pictures below :
Deployment  and  continuous integration  with a Nuxeo module Project
Eclipse : Workspace Nuxeo We start with the same workspace defined in my previous screencast about how to create a new document type.  (CF.  Nuxeo 5 - Création d’un type de document  ) Module My-Books Source Nuxeo Server JBoss Compilation Ant Task
SVN : Add a project
Modifying POM Open and edit pom.xml file Add following lines under <properties> Add following lines inside <build> brackets
Modifying POM Add following lines after <scm> brackets
Editing settings.xml Create or replace settings.xml in your .m2 directory (Normally in C:\Documents and Settings\ UserName\.m2)
Project Compilation Make source compilation and do the deployment with Maven in Eclipse Right-clic on your folder project Menu Run As… Maven Build… In Goals tabs : type  deploy Run
Project Compilation In log fils in your Eclipse console view check the existence of following lines And of course at the end
Archiva : Verify project deployment Make a search, in archiva graphical interface, with blogspot word.  Check the existence of your « snapshot project »
Continuum : Continuous Integration Clic on the picture to see a screencast
 

More Related Content

What's hot (20)

DOCX
Dockerfish-Tutorial
Brian Hood
 
PPT
Scalable Systems Management with Puppet
Puppet
 
PPTX
Dockerizing WordPress
dotCloud
 
PPT
How To Deploy A Cloud Based Webserver in 5 minutes - LAMP
Matt Dunlap
 
PPTX
Installing and running Postfix within a docker container from the command line
dotCloud
 
ODP
Fabric: A Capistrano Alternative
Panoptic Development, Inc.
 
TXT
Ftp configuration
Himanshu Bhardwaj
 
PPTX
A Fabric/Puppet Build/Deploy System
adrian_nye
 
PDF
Single node hadoop cluster installation
Mahantesh Angadi
 
PDF
이미지 기반의 배포 패러다임 Immutable infrastructure
Daegwon Kim
 
PPTX
One click deployment
Alex Su
 
PDF
Fabric-让部署变得简单
Eric Lo
 
PPTX
OpenStack : DevStack installation using VirtualBox & Ubnutu (Juno with Neutron)
Ian Choi
 
PDF
JavaCro'15 - Conquer the Internet of Things with Java and Docker - Johan Jans...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
PPTX
Getting Started With CFEngine - Updated Version
CFEngine
 
KEY
Making Your Capistrano Recipe Book
Tim Riley
 
DOCX
Installing lemp with ssl and varnish on Debian 9
عطاءالمنعم اثیل شیخ
 
PDF
grate techniques
junaid novapex
 
PDF
Vmware management-with-vcli-5.0
Sathishkumar A
 
PPTX
Deploying Symfony2 app with Ansible
Roman Rodomansky
 
Dockerfish-Tutorial
Brian Hood
 
Scalable Systems Management with Puppet
Puppet
 
Dockerizing WordPress
dotCloud
 
How To Deploy A Cloud Based Webserver in 5 minutes - LAMP
Matt Dunlap
 
Installing and running Postfix within a docker container from the command line
dotCloud
 
Fabric: A Capistrano Alternative
Panoptic Development, Inc.
 
Ftp configuration
Himanshu Bhardwaj
 
A Fabric/Puppet Build/Deploy System
adrian_nye
 
Single node hadoop cluster installation
Mahantesh Angadi
 
이미지 기반의 배포 패러다임 Immutable infrastructure
Daegwon Kim
 
One click deployment
Alex Su
 
Fabric-让部署变得简单
Eric Lo
 
OpenStack : DevStack installation using VirtualBox & Ubnutu (Juno with Neutron)
Ian Choi
 
JavaCro'15 - Conquer the Internet of Things with Java and Docker - Johan Jans...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Getting Started With CFEngine - Updated Version
CFEngine
 
Making Your Capistrano Recipe Book
Tim Riley
 
Installing lemp with ssl and varnish on Debian 9
عطاءالمنعم اثیل شیخ
 
grate techniques
junaid novapex
 
Vmware management-with-vcli-5.0
Sathishkumar A
 
Deploying Symfony2 app with Ansible
Roman Rodomansky
 

Viewers also liked (14)

PPT
Smith & CMIS : a similar story
PASCAL Jean Marie
 
PDF
Open Source Ecm
PASCAL Jean Marie
 
PDF
JM.PASCAL - This is my way...
PASCAL Jean Marie
 
PDF
Alfresco 3.0 Enteprise : View by a Node
PASCAL Jean Marie
 
PDF
Alfresco Android - Summit 2013 Talk
PASCAL Jean Marie
 
PDF
Alfresco in few points - Node Tutorial
PASCAL Jean Marie
 
PDF
Alfresco in few points - Search Tutorial
PASCAL Jean Marie
 
PDF
Alfresco in few points - NodeService Tutorial
PASCAL Jean Marie
 
PDF
Nuxeo5 - Installation Integration Continue
PASCAL Jean Marie
 
PDF
Alfresco en quelques points : Services Tutorial
PASCAL Jean Marie
 
PDF
Alfresco - Présentation Alfresco 3 Enterprise
PASCAL Jean Marie
 
PDF
Alfresco en quelques points - Recherche Tutorial
PASCAL Jean Marie
 
PDF
Alfresco en quelques points : Node Tutorial
PASCAL Jean Marie
 
PPT
DRAFT - Alfresco - Acces & Utilisation
PASCAL Jean Marie
 
Smith & CMIS : a similar story
PASCAL Jean Marie
 
Open Source Ecm
PASCAL Jean Marie
 
JM.PASCAL - This is my way...
PASCAL Jean Marie
 
Alfresco 3.0 Enteprise : View by a Node
PASCAL Jean Marie
 
Alfresco Android - Summit 2013 Talk
PASCAL Jean Marie
 
Alfresco in few points - Node Tutorial
PASCAL Jean Marie
 
Alfresco in few points - Search Tutorial
PASCAL Jean Marie
 
Alfresco in few points - NodeService Tutorial
PASCAL Jean Marie
 
Nuxeo5 - Installation Integration Continue
PASCAL Jean Marie
 
Alfresco en quelques points : Services Tutorial
PASCAL Jean Marie
 
Alfresco - Présentation Alfresco 3 Enterprise
PASCAL Jean Marie
 
Alfresco en quelques points - Recherche Tutorial
PASCAL Jean Marie
 
Alfresco en quelques points : Node Tutorial
PASCAL Jean Marie
 
DRAFT - Alfresco - Acces & Utilisation
PASCAL Jean Marie
 
Ad

Similar to Nuxeo5 - Continuous Integration (20)

PDF
Ci For The Web 2.0 Guy Or Gal
Chad Woolley
 
PDF
Build server
Christophe Vanlancker
 
PDF
02.12.2012 ubuntu 12.1 server guide
El Alex Andrade
 
PDF
Apache Continuum Build, Test, and Release
elliando dias
 
PPTX
Drupal Continuous Integration with Jenkins - The Basics
John Smith
 
PDF
Ubuntu server12 04_guide
Jorge Brunal
 
PPTX
Install LAMP Stack in Linux Server OS and Hosting a Custom Domain .pptx
Ciceer Ghimirey
 
PDF
Ibm tivoli storage manager for unix and linux backup archive client installat...
Banking at Ho Chi Minh city
 
PDF
Lamp Server With Drupal Installation
franbow
 
PDF
Ubuntu server-904 membuat-server_dengan_ubuntu
Raden Ozan
 
PDF
Serverguide ubuntu11.10
Sergi Duró
 
PDF
Deploying to Ubuntu on Linode
WO Community
 
PDF
Tungsten University: Configure & Provision Tungsten Clusters
Continuent
 
PDF
Guia de Ubuntu Server en Inglés
Nelson Manuel Ordaz Yglesias
 
PDF
Serverguide ubuntu
Amir Hamzah
 
PDF
Serverguide
Roobon Habib
 
PDF
MOE Ubuntu Desktop training
Khairul Aizat Kamarudzzaman
 
PPTX
Linux for programmers
Md. Al Amin
 
PDF
08.03.2015-Ubuntu Server Guide 14.04
El Alex Andrade
 
ODP
Continuous deployment-at-flipkart
Pankaj Kaushal
 
Ci For The Web 2.0 Guy Or Gal
Chad Woolley
 
Build server
Christophe Vanlancker
 
02.12.2012 ubuntu 12.1 server guide
El Alex Andrade
 
Apache Continuum Build, Test, and Release
elliando dias
 
Drupal Continuous Integration with Jenkins - The Basics
John Smith
 
Ubuntu server12 04_guide
Jorge Brunal
 
Install LAMP Stack in Linux Server OS and Hosting a Custom Domain .pptx
Ciceer Ghimirey
 
Ibm tivoli storage manager for unix and linux backup archive client installat...
Banking at Ho Chi Minh city
 
Lamp Server With Drupal Installation
franbow
 
Ubuntu server-904 membuat-server_dengan_ubuntu
Raden Ozan
 
Serverguide ubuntu11.10
Sergi Duró
 
Deploying to Ubuntu on Linode
WO Community
 
Tungsten University: Configure & Provision Tungsten Clusters
Continuent
 
Guia de Ubuntu Server en Inglés
Nelson Manuel Ordaz Yglesias
 
Serverguide ubuntu
Amir Hamzah
 
Serverguide
Roobon Habib
 
MOE Ubuntu Desktop training
Khairul Aizat Kamarudzzaman
 
Linux for programmers
Md. Al Amin
 
08.03.2015-Ubuntu Server Guide 14.04
El Alex Andrade
 
Continuous deployment-at-flipkart
Pankaj Kaushal
 
Ad

More from PASCAL Jean Marie (15)

PPT
DRAFT - Vm Ware - Installation Nuxeo
PASCAL Jean Marie
 
PPT
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
PASCAL Jean Marie
 
PPT
ECM - Simple Definition ENG
PASCAL Jean Marie
 
PPT
ECM - Définition Simple
PASCAL Jean Marie
 
PPT
An Alfresco Fan to John Newton (2)
PASCAL Jean Marie
 
PPT
An Alfresco Fan to John Newton
PASCAL Jean Marie
 
PDF
Smith & Cmis : Une histoire commune
PASCAL Jean Marie
 
PDF
Ecm Open Source
PASCAL Jean Marie
 
PDF
Nuxeo 5 Installation with Eclipse
PASCAL Jean Marie
 
PDF
Nuxeo 5 Installation with Eclipse
PASCAL Jean Marie
 
PDF
Nuxeo5 - Code Source Installation
PASCAL Jean Marie
 
PDF
Nuxeo5 - Installation avec Eclipse
PASCAL Jean Marie
 
PDF
Nuxeo 5 - Basic Installation
PASCAL Jean Marie
 
PDF
Nuxeo5 - Installation Simple
PASCAL Jean Marie
 
PDF
Nuxeo5 - Installation Code Source
PASCAL Jean Marie
 
DRAFT - Vm Ware - Installation Nuxeo
PASCAL Jean Marie
 
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
PASCAL Jean Marie
 
ECM - Simple Definition ENG
PASCAL Jean Marie
 
ECM - Définition Simple
PASCAL Jean Marie
 
An Alfresco Fan to John Newton (2)
PASCAL Jean Marie
 
An Alfresco Fan to John Newton
PASCAL Jean Marie
 
Smith & Cmis : Une histoire commune
PASCAL Jean Marie
 
Ecm Open Source
PASCAL Jean Marie
 
Nuxeo 5 Installation with Eclipse
PASCAL Jean Marie
 
Nuxeo 5 Installation with Eclipse
PASCAL Jean Marie
 
Nuxeo5 - Code Source Installation
PASCAL Jean Marie
 
Nuxeo5 - Installation avec Eclipse
PASCAL Jean Marie
 
Nuxeo 5 - Basic Installation
PASCAL Jean Marie
 
Nuxeo5 - Installation Simple
PASCAL Jean Marie
 
Nuxeo5 - Installation Code Source
PASCAL Jean Marie
 

Recently uploaded (20)

PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 

Nuxeo5 - Continuous Integration

  • 1. Nuxeo EP 5 How to create a virtualized continuous integration machine with VmWare and an Ubuntu Server 7.10 for compilation and integration of a Nuxeo Module Jean Marie PASCAL [email_address]
  • 2. Install Ubuntu 7.10 Server (VmWare + OS Installation) Install mandatory continuous integration Install Continuum & Archiva Integrate a Nuxeo Module Project to SVN + Deployment to Archiva Module’s Continuous Integration Goals
  • 3. Configuration Used Operating System : Windows XP SP2 Processor Intel Core 2 Duo Computer memory 2Gb (1Gb Minimum Required)
  • 4. Pre-requisites Installation of VmWare (Server installation) Putty (Command lines) WinSCP (File Transfert) Install a development environment with Eclipse CF. Slideshow : Nuxeo 5 - Installation avec Eclipse CF. Screencast : Nuxeo 5 - Création d’un type de document Basic knowledge on Linux commands
  • 6. Architecture IntegrationContinue Ubuntu Server 7.10 Apache Continuum 1.1 Apache Archiva 1.0.2 Apache Maven 2.0.9 MySQL 5.0.45 Sun JDK 1.6.0.03 Subversion SSH PC-Developpement Windows XP SP2 VmWare Workstation 5.5 Sun JDK 1.5.14 Eclipse 3.3 Apache Ant 1.7.0 Apache Maven 2.0.8 Jboss AS 4.05 MySQL GUI Tools Putty WinSCP
  • 8. How to create a VMWare Virtual Machine Ubuntu 7.10 Installation and Configuration
  • 9. Creating a Virtual Machine Clic on the picture to see a screencast
  • 10. Ubuntu Installation Clic on the picture to see a screencast For more details about Ubuntu 7.10 Installation http://www.ubuntugeek.com/ubuntu-710-gutsy-gibbon-lamp-server-setup.html
  • 11. Ubuntu configuration SSH installation Goal : Creating communication between Putty/Winscp Ubuntu VmWare Server. Type the command : sudo apt-get install ssh Keep your Server IP ifconfig
  • 12. Ubuntu configuration Verify your connexion with WinSCP Login
  • 13. Ubuntu configuration Verify your connexion with Putty Login
  • 14. Enabling Multiverse repositories Connect to your Ubuntu Server with putty : Open sources.list file sudo vi sources.list Add following lines : For more details about repositories : https://wiki.ubuntu.com/AlwaysEnableUniverseMultiverse?highlight=%28multiverse%29
  • 15. Updating your system Connect to your Ubuntu Server with putty : sudo apt-get update sudo apt-get upgrade For more details about apt-get command https://help.ubuntu.com/community/AptGet/Howto?action=show&redirect=AptGet
  • 16. Modifying rights Modifying rights on installation folder Create « Integration » group sudo groupadd groupe_integration Add user « integrateur » to « Integration » group sudo usermod –a –G groupe_integration integrateur Modify right on folder /opt/ Sudo chown –R integrateur:groupe_integration /opt/ For more details about : https://help.ubuntu.com/community/AddUsersHowto
  • 17. Installation of mandatory Software to accomplish continuous integration
  • 18. JVM Installation Connect to your Ubuntu Server with putty : sudo apt-get install sun-java6-jdk
  • 19. Define the environment variables Define the CLASSPATH & JAVA_HOME variable : vi /home/integrateur/.bashrc Add following lines at the end of the file Restart Putty Check the following message is displayed
  • 20. MySQL installation Connect to your Ubuntu Server with putty : sudo apt-get install mysql-server For more details on mysql installation : https://help.ubuntu.com/community/JDBCAndMySQL?highlight=%28mysql%29
  • 21. MySQL Installation Modifying rights to permit remote access sudo vi /etc/mysql/my.cnf Comment the line Edite this line Connect to MySQL with command lines sudo mysql –u root –p To prompt, execute this commands grant all privileges on *.* to 'root'@‘<ip.address>' with grant option; set password for 'root'@’<ip.address'=password(’<password>');
  • 22. MySQL Installation Restart Mysql sudo /etc/init.d/mysql restart Check yout installation mysql -u root -p <password>
  • 23. MySQL GUI Tools Installation Download the last version of MySQL GUI Tools Ressource : Mysql GUI Tools Follow installation wizard instructions
  • 24. MySQL GUI Tools Installation Run MySQL Administrator Check your connexion
  • 25. Maven Installation Download the last version of Maven Ressource : Maven.apache.org Upload this file to folder « /opt/ » with WinSCP Unzip the file tar –xvf apache-maven-2.0.9-bin.tar.gz
  • 26. Define the environment variables Define MAVEN_HOME & PATH variables: vi /home/integrateur/.bashrc Add following lines at the end of the file Restart Putty Check your installation
  • 27. Subversion Installation Connect to your Ubuntu Server with putty : Install SVN sudo apt-get install subversion Create an installation folder mkdir /opt/svn Go to this directory and create a new repository svnadmin create depot
  • 28. SVN Installation Edit svnserve.conf file vi /opt/svn/depot/svnserve.conf uncomment all lines beginning with # except the line with « authz-db » (Don’t forget to erase the first whitespace on the beginning) Edit passwd file vi /opt/svn/depot/passwd Add following lines Start svn daemon svnserve –d –r /opt/svn/depot
  • 29. SVN Installation For more informations : https://help.ubuntu.com/community/Subversion http://svnbook.red-bean.com/ http://doc.ubuntu-fr.org/subversion
  • 31. Continuum Installation Download the last version of Continuum Ressource : continuum.apache.org Upload this file to « /opt/ » directory with WinSCP Unzip it tar –xvf apache-continuum-1.1.tar.gz
  • 32. Continuum Installation : Binding with MySQL Download the last version of MySQL Connector (jdbc) Ressource : MySQL Connector /J5.0 Unzip on your local machine Extract the file mysql-connector-java-5.0.8-bin.jar
  • 33. Continuum Installation : Binding with MySQL Import (local) plexus-appserver-service-jetty-2.0-alpha-8.sar file living in /opt/continuum-1.1/services with WinSCP Use a tool like WinZip to add mysql-connector-java-5.0.8-bin.jar to this file on the directory lib Export this file to /opt/continuum-1.1/services with WinSCP
  • 34. Continuum Installation : Creating Database Connect to MySQL with GUI Tools Create a schema continuum and users Right-clic
  • 35. Continuum Installation : Creating a user Create Integrateur user
  • 36. Continuum Installation : Privilege on database Give all privileges to integrateur on continuum and users schemas
  • 37. Continuum Installation Edit /opt/continuum-1.1/conf/plexus.xml file Change datasources declaration for continuum and users
  • 38. Continuum Installation Edit /opt/continuum-1.1/conf/plexus.xml file Change jetty port to 8090
  • 39. Continuum Installation Connect to your Ubuntu Server with putty Run continuum sh /opt/continuum-1.1/bin/linux-x86-32/run.sh start Open a web browser Link : http://<IP.ServeurVM>:8090/continuum/
  • 40. First Launch Complete the administrator form Next login
  • 41. First Launch By default, we keep the original configuration Continuum is now ready.
  • 42. Daemon installation How to define a daemon to run continnum in each start Connect to your Ubuntu server with putty ln -s /opt/continuum-1.1/bin/linux-x86-32/run.sh /etc/init.d/continuum sudo update-rc.d -f continuum defaults 99
  • 44. Archiva Installation Download the last version of Archiva Ressource : archiva.apache.org Upload this file to /opt/ with WinSCP Unzip it tar –xvf apache-archiva-1.0.2.tar.gz
  • 45. Archiva Installation : Binding with MySQL Import (locally) plexus-appserver-service-jetty-2.0-alpha-8.sar in /opt/apache-archiva-1.0.2/services directory with WinSCP Use a tool like WinZip to add mysql-connector-java-5.0.8-bin.jar file to this file on the directory lib Export this file to /opt/apache-archiva-1.0.2/services with WinSCP
  • 46. Archiva Installation : Creating Database Connect to MySQL with GUI Tools Create a schema archiva Right-clic
  • 47. Archiva Installation: Privileges on database Give all privileges to integrateur on archiva schema
  • 48. Archiva Installation Edit /opt/apache-archiva-1.0.2/conf/plexus.xml file Change datasources declaration for archiva and users
  • 49. Installation d’Archiva Edit /opt/apache-archiva-1.0.2/conf/plexus.xml Change jetty port to 8091
  • 50. Archiva Installation Connect to Ubuntu with Putty Run Archiva sh /opt/apache-archiva-1.0.2/bin/linux-x86-32/run.sh start Open a web browser Link : http://<IP.ServeurVM>:8091/archiva/
  • 51. First Launch No Administrator form to complete ! It’s the same as Continuum Login to admin
  • 52. Archiva Administration Add all « Proxy Connectors » to Nuxeo Respositories (releases)
  • 53. Archiva Administration Add all « Proxy Connectors » to Nuxeo Respositories (Snapshots)
  • 54. Archiva Administration Do the same operation defined in previous slides to have the same results as pictures below :
  • 55. Deployment and continuous integration with a Nuxeo module Project
  • 56. Eclipse : Workspace Nuxeo We start with the same workspace defined in my previous screencast about how to create a new document type. (CF. Nuxeo 5 - Création d’un type de document ) Module My-Books Source Nuxeo Server JBoss Compilation Ant Task
  • 57. SVN : Add a project
  • 58. Modifying POM Open and edit pom.xml file Add following lines under <properties> Add following lines inside <build> brackets
  • 59. Modifying POM Add following lines after <scm> brackets
  • 60. Editing settings.xml Create or replace settings.xml in your .m2 directory (Normally in C:\Documents and Settings\ UserName\.m2)
  • 61. Project Compilation Make source compilation and do the deployment with Maven in Eclipse Right-clic on your folder project Menu Run As… Maven Build… In Goals tabs : type deploy Run
  • 62. Project Compilation In log fils in your Eclipse console view check the existence of following lines And of course at the end
  • 63. Archiva : Verify project deployment Make a search, in archiva graphical interface, with blogspot word. Check the existence of your « snapshot project »
  • 64. Continuum : Continuous Integration Clic on the picture to see a screencast
  • 65.