SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
Jenkins User Conference   Paris, 17 April 2012   #jenkinsconf




                 Julien Carsique, DevOps

                 https://qa.nuxeo.org/jenkins
Jenkins User Conference              Paris, 17 April 2012   #jenkinsconf


    The Nuxeo company — www.nuxeo.com


     ●
         Founded in 2000
     ●
         ~ 50 employees (mainly France & USA)
     ●
         Open Source Enterprise Content Management
     ●
         No-charge software licensing with LGPL
     ●
         Nuxeo Connect subscription offering for support,
         maintenance, consulting, training and services:
             ●
                 Nuxeo Studio
             ●
                 Nuxeo Marketplace
             ●
                 Nuxeo Cloud


17/04/2012                                                         2/25
Jenkins User Conference       Paris, 17 April 2012   #jenkinsconf


    The Nuxeo products
    Document and Case Management




17/04/2012                                                  3/25
Jenkins User Conference         Paris, 17 April 2012   #jenkinsconf


    The Nuxeo products
    Digital Assets Management




17/04/2012                                                    4/25
Jenkins User Conference   Paris, 17 April 2012   #jenkinsconf


    The Nuxeo products
    Web sites




17/04/2012                                              5/25
Jenkins User Conference            Paris, 17 April 2012   #jenkinsconf


    The Nuxeo products
    Public facing applications, RIA and much more …




17/04/2012                                                       6/25
Jenkins User Conference                  Paris, 17 April 2012   #jenkinsconf


    The Nuxeo products
    Open Source ECM platform, applications and services

     ●
         Nuxeo Platform
             ●
                 Java and standards based
             ●
                 Component based architecture
             ●
                 Extensible and configurable ECM services
             ●
                 UI building blocks and High level frameworks
             ●
                 A lot of integration levels and APIs
     ●
         Testing, benchmarking and packaging tools
     ●
         Development tools (Nuxeo Studio, Nuxeo IDE)
     ●
         Ready to use pre-packaged applications


17/04/2012                                                             7/25
Jenkins User Conference            Paris, 17 April 2012   #jenkinsconf


    The challenge of
    The source code

     ●
         200+ SubVersion, Mercurial and Git repositories
     ●
         1M+ LoC, 500+ Maven modules
     ●
         5 application modules and 60+ addons
     ●
         500+ components in the Platform
     ●
         2500+ unit tests, 2000+ Selenium and WebDriver tests
     ●
         10+ languages (Java, XML, JavaScript, HTML, CSS,
         Python, Shell, SQL, Groovy, …) and tools (Maven, Ant,
         Shell, …)
     ●
         30~50 active committers and contributors
     ●
         ~1000 commits/month
     ●
         1 development branch, 3~5 maintenance branches
17/04/2012                                                       8/25
Jenkins User Conference                        Paris, 17 April 2012   #jenkinsconf


    The challenge of
    The human constraints

     ●
         Follow and maintain quality
     ●
         Save developers time
             ●
                 Doing more checks than they can
             ●
                 Providing a safety net for their changes
             ●
                 No need to build everything themselves
     ●
         Save testers time
             ●
                 Automate tests in various environments
             ●
                 Warn on regression
             ●
                 Easy to download latest deliverables
     ●
         Save integrators time
             ●
                 Work on Nuxeo development branch with more confidence
             ●
                 Get guarantees on code quality

17/04/2012                                                                   9/25
Jenkins User Conference                     Paris, 17 April 2012   #jenkinsconf


    The challenge of
    The deployment constraints

     ●
         Multiple deployment target
         ●
             WAR, JEE or bare Java
         ●
             OS (Linux, Unix, Windows, MacOS)
         ●
             DB (PostgreSQL, Oracle, SQLServer, MySQL, …)
         ●
             BlobStore backend (FS, NAS, S3, SQLDB, ...)
     ●
         Scalability and performance
         ●
             Cluster support
         ●
             Multi-DB scale-out (several repositories and/or DB)
         ●
             Raw performances (100M docs benchmark on a single server; 200
             pages/s output on complex business apps)
     ●
         Easy maintenance
         ●
             Backup, restore, upgrade
         ●
             export/import

17/04/2012                                                                10/25
Jenkins User Conference                             Paris, 17 April 2012   #jenkinsconf


    The history of
    The beginning

     ●
         Before 2007: BuildBot
     ●
         2007 — Nuxeo 5 switch to Java
             ●
                 Trying CruiseControl, TeamCity, Continuum, … Hudson!
     ●
         Goals for Nuxeo 5.1
             ●
                 Code analysis (Quality Assurance)
             ●
                 Build and unit test Nuxeo against default environment
                  –   Linux, JBoss, Sun JDK 5, H2
                  –   Smoke test at JBoss start
                  –   Run Selenium suite
             ●
                 Automate Nuxeo release process
             ●
                 Automate generation and test of documentation
             ●
                 Involve developers

17/04/2012                                                                        11/25
Jenkins User Conference                                                 Paris, 17 April 2012            #jenkinsconf


    The history of
    Nuxeo 5.1 — CI architecture


RELEASES and SNAPSHOTS                            Maven.nuxeo.org
      from outside




                                                                         RE
                                         UPLOAD RELEASES & SNAPSHOTS
                                                                                                 RE

                                     S
                                                                                                   LEA




                                                                           LE
                                    SE
                                                                                                      SE
                                                                                                         S




                                                                              AS
                               EA
                                L




                                                                                ES
                             RE




 Public Internal Nexus                                                 Private Internal Nexus            Nexus Preprod
                  DOWNLOAD




                                                                                      DOWNLOAD
             UPLOAD




                                                                                 UPLOAD




                                                                                                                    DOWNLOAD
                                                                                                               UPLOAD
Public Jenkins Master                                                  Private Jenkins Master

17/04/2012                                                                                                     12/25
Jenkins User Conference                        Paris, 17 April 2012   #jenkinsconf


    The history of
    Nuxeo 5.1 — CI architecture and usage

     ●
         Speed up build time
     ●
         Organize teams resources
     ●
         Ensure publicly available artifacts quality
     ●
         Isolate internal and external build chains
     ●
         Enforce rules for developers
             ●
                 Early use of CI
             ●
                 Think about what kind of build (Maven, Shell, Ant, …) and what
                 must be checked for validation (unit tests, errors in logs, …)?
             ●
                 Automated build: nothing specific or contextual to the slave
             ●
                 Make the build self-testing
             ●
                 Stay tuned, be aware of CI activity
             ●
                 Never let a project in an unstable status

17/04/2012                                                                   13/25
Jenkins User Conference                           Paris, 17 April 2012   #jenkinsconf


    The history of
    Nuxeo 5.1 to 5.3 — making heavy use of CI

     ●
         Release process improvement
         ●
             Automated tasks
         ●
             Nightly / On demand
         ●
             Build promotion
     ●
         More and more tests and environments
         ●
             More performance and functional tests
         ●
             Tests with Jetty, JBoss and Tomcat
         ●
             Matrix testing jobs with OS and databases
         ●
             Testing development and administration tools
     ●
         Seriously increasing number of builds
         ●
             New packages and installers (Debian, VM, Windows, Multi-OS, …)
         ●
             New applications (Android, Nuxeo CMF, Nuxeo DAM, …)
         ●
             New plugins for Firefox, IE, OpenOffice/LibreOffice
         ●
             Accumulating versions to maintain

17/04/2012                                                                      14/25
Jenkins User Conference                 Paris, 17 April 2012   #jenkinsconf


    The history of
    Nuxeo 5.3 to 5.4 (2010-2011) — growing CI issues

     ●
         CI performance issues
             ●
                 CPU, network and disk usage
             ●
                 Slave usage strategy
             ●
                 Full cycle duration
     ●
         CI usage issues
             ●
                 Build waiting time
             ●
                 Feedback delay
             ●
                 Feedback accuracy
             ●
                 Jobs' dependencies



17/04/2012                                                            15/25
Jenkins User Conference                   Paris, 17 April 2012   #jenkinsconf


    The history of
    Nuxeo 5.4 (2011) — CI improvements, Jenkins analysis

     ●
         Build cycles, workflows and durations
     ●
         Use of Jenkviz (homemade tool), Dependency Graph View
         and (enhanced) Build Timeout plugins




17/04/2012                                                              16/25
Jenkins User Conference                         Paris, 17 April 2012     #jenkinsconf


    The history of
    Nuxeo 5.4 (2011) — CI improvements, solutions

     ●
         Work on source code
             ●
                 GWT optimizations (reduce build time)
             ●
                 Review testing suites,
                 prefer use of WebDriver over Selenium
     ●
         Work on CI
             ●
                 Improve slaves usage (using labels), local vs remote
             ●
                 Give priority to jobs with low duration (earlier feedback)
             ●
                 New short and permanent cycle
             ●
                 Create independent jobs for specific purposes
             ●
                 Create new views to help developers
             ●
                 Add CPU and/or memory on some slaves
             ●
                 Improve Nexus infrastructure (Maven build time)
             ●
                 Fix jobs triggering issue

17/04/2012                                                                      17/25
Jenkins User Conference              Paris, 17 April 2012   #jenkinsconf


    The history of
    Nuxeo 5.5 — the current status




17/04/2012                                                         18/25
Jenkins User Conference                              Paris, 17 April 2012   #jenkinsconf


    The history of
    Nuxeo 5.5 — the current status

     ●
         Great coverage and good delays
         ●
             4 kinds of CI cycles per Nuxeo version maintained
              –   Triggered by commit (300 jobs)
              –   Full build and tests per day (10 jobs)
              –   Independent cycle per 3 hours (11 jobs)
              –   Nightly build (40 jobs)
         ●
             Less than 10 minutes to 3 hours max for main feedback
         ●
             Code and applications tested on multi-DB/OS/JDK/servers
         ●
             6 hours for the longest build cycle
     ●
         About 450 jobs on 25 servers (2 masters), 200~?K builds/day
     ●
         6 database engines tested on 5 operating systems
     ●
         7 applications tested in all environments
     ●
         50K~100K tests ran including all products and versions under CI


17/04/2012                                                                         19/25
Jenkins User Conference                                                  Paris, 17 April 2012                            #jenkinsconf


     The history of
     Nuxeo 5.5 — the current status, major CI cycles

                                   Job trigger
                                                                                            Performance tests multi-DB
    Commit            SCM      Sources     Build &               Packaging
                                                                                            Functional tests multi-OS/DB
Mercurial/GitHub     trigger   checkout   Unit tests          7 apps, 2 servers
                                                                                           Various addons functional tests

                                                          Full build & tests multi-JDK
                      daily    Sources                                                           Packaging multi-OS Smoke tests
                     trigger                           Full build & tests multi-DB Linux
                               checkout
                                                        Full build & tests multi-DB Win


                        3h     Sources                                                                                          Merge « stable »
                     trigger                           Full build (no tests) Packaging all applications Functional tests
                               checkout                                                                                         branch (GitHub)
                                                                  Permanent cycle

                   Nightly
                               Sources                 Full build (no tests)                                             Functional tests
                                                                               Packaging all applications        multi-DB/OS/JDK/servers, cluster
                   Manual      checkout                 Prepare release


                                     Batch task

                                                 Performance tests (référence)
     Perform release                                                                         Build installers (Debian,       Merge «5.6-SNAPSHOT»
                                                                                                Win, multi-OS, ...)              branch (GitHub)
 Push release tag (GitHub)
                                                                                                                             Deploy «5.6-SNAPSHOT»
                                                                                            Test and upload installers
  Deploy release artifacts                                                                                                        Maven artifacts


17/04/2012                                                                                                                       20/25
Jenkins User Conference                           Paris, 17 April 2012         #jenkinsconf


    The history of
    Nuxeo 5.5 — main Jenkins plugins used

     ●
         Required
         ●
             Subversion, Mercurial, MSBuild, GIT, GitHub, Android Emulator
     ●
         Useful for Jenkins management
         ●
             Priority Sorter, Parameterized Trigger, Retry Failed Builds, Rebuilder,
             Hudson Post build task, Matrix Reloaded, next-executions, Bulk Builder,
             Join, Promoted Builds, batch task
         ●
             Change Log History, Maven Deployment Linker, SCM Sync Configuration, Multiple
             SCMs, Static Analysis Utilities, Timestamper, build timeout, Hudson Setenv,
             java.io.tmpdir cleaner, Hudson global-build-stats, Node and Label parameter,
             Monitoring, SSH Slaves, Dependency Graph Viewer, Performance, Disk Usage
     ●
         Useful reports
         ●
             Checkstyle, FindBugs, Task Scanner, PMD, Warnings, Hudson Seleniumhq, Selenium
             HTML report, Cobertura, TextFinder, JUnit Attachments, Duplicate Code Scanner
     ●
         For end-users
         ●
             Dashboard View, Claim, Radiator View, Hudson iPhoneView, Continuous
             Integration game, instant-messaging, Jabber notifier, built-on-column, Compact
             Columns, Version Column, Email-ext, View Job Filters, Extra Columns, Simple Theme

17/04/2012                                                                             21/25
Jenkins User Conference                 Paris, 17 April 2012   #jenkinsconf


    The history of
    Nuxeo 5.6 — the near future

     ●
         Better quality testing with Sonar
     ●
         Integration with Jira
     ●
         Automated merges from QA dedicated branches
         to the development branch
     ●
         Automated Jenkins infrastructure deployment on
         cloud
             ●
                 Custom slaves on demand
                 (Chef / Puppet, chroot / LXC, …)
             ●
                 Work on Nuxeo Cloud & Compatible One R&D
             ●
                 CloudBees
     ●
         Nuxeo CI (partial or full) migration to the cloud
17/04/2012                                                            22/25
Jenkins User Conference                  Paris, 17 April 2012   #jenkinsconf


    The history of
    Nuxeo 5.6 — the near future

     ●
         Jenkins enhancements (plugins)
             ●
                 More abstraction to avoid plugins compliance
             ●
                 Multiple SCM & Git
             ●
                 SCM change log feeder
             ●
                 Matrix jobs improvements
             ●
                 Node Label & Parameterized trigger
             ●
                 Dependency Graph
             ●
                 Infrastructure failures (Check job prerequisites++)
             ●
                 Jobs workflow management
             ●
                 …

17/04/2012                                                             23/25
Jenkins User Conference                       Paris, 17 April 2012   #jenkinsconf



    Conclusion

     ●
         Jenkins
             ●
                 Easy maintenance
             ●
                 Good scalability
             ●
                 Great community and plugins catalog
             ●
                 Powerful extensibility
             ●
                 Efficient contribution process
             ●
                 Cloud capabilities
     ●
         Nuxeo
             ●
                 CI & QA on Nuxeo Platform frameworks
             ●
                 Stable APIs with backward and forward compatibility
             ●
                 Stable applications with good performances
             ●
                 Automated processes with very few manual interventions

17/04/2012                                                                  24/25
25
17/04/2012
    Jenkins User Conference Paris   17 April 2012   #jenkinsconf



        Thank You To Our Sponsors

        Platinum Sponsor




        Gold Sponsor




        Silver Sponsor

Mais conteúdo relacionado

Mais procurados

Modular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafModular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafIoan Eugen Stan
 
Meetup Docker@Nuxeo - Build a Cloud Platform with Docker
Meetup Docker@Nuxeo - Build a Cloud Platform with DockerMeetup Docker@Nuxeo - Build a Cloud Platform with Docker
Meetup Docker@Nuxeo - Build a Cloud Platform with DockerNuxeo
 
Lessons from Jenkins Platform Support
Lessons from Jenkins Platform SupportLessons from Jenkins Platform Support
Lessons from Jenkins Platform SupportMark Waite
 
ASP.NET 5 - Microsoft's Web development platform reimagined
ASP.NET 5 - Microsoft's Web development platform reimaginedASP.NET 5 - Microsoft's Web development platform reimagined
ASP.NET 5 - Microsoft's Web development platform reimaginedAlex Thissen
 
OpenNebula Conf 2014 | OpenNebula as Open Replacement of vCloud by Javier Fontan
OpenNebula Conf 2014 | OpenNebula as Open Replacement of vCloud by Javier FontanOpenNebula Conf 2014 | OpenNebula as Open Replacement of vCloud by Javier Fontan
OpenNebula Conf 2014 | OpenNebula as Open Replacement of vCloud by Javier FontanNETWAYS
 
What's New and Next in OpenNTF Domino API (ICON UK 2014)
What's New and Next in OpenNTF Domino API (ICON UK 2014)What's New and Next in OpenNTF Domino API (ICON UK 2014)
What's New and Next in OpenNTF Domino API (ICON UK 2014)Paul Withers
 
Nuxeo World Session: Becoming a Contributor: How to Get Started
Nuxeo World Session: Becoming a Contributor: How to Get StartedNuxeo World Session: Becoming a Contributor: How to Get Started
Nuxeo World Session: Becoming a Contributor: How to Get StartedNuxeo
 
OpenNebulaConf 2013 - OpenNebula in a Multi-Customer-Environment by Bernd Erk
OpenNebulaConf 2013 - OpenNebula in a Multi-Customer-Environment by Bernd ErkOpenNebulaConf 2013 - OpenNebula in a Multi-Customer-Environment by Bernd Erk
OpenNebulaConf 2013 - OpenNebula in a Multi-Customer-Environment by Bernd ErkOpenNebula Project
 
Performance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMsPerformance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMsMaarten Smeets
 
FOSDEM 2012 - OpenNebula Project
FOSDEM 2012 - OpenNebula ProjectFOSDEM 2012 - OpenNebula Project
FOSDEM 2012 - OpenNebula ProjectOpenNebula Project
 
CloudOpen 2012 OpenNebula talk
CloudOpen 2012 OpenNebula talkCloudOpen 2012 OpenNebula talk
CloudOpen 2012 OpenNebula talkOpenNebula Project
 
From CoreOS to Kubernetes and Concourse CI
From CoreOS to Kubernetes and Concourse CIFrom CoreOS to Kubernetes and Concourse CI
From CoreOS to Kubernetes and Concourse CIDenis Izmaylov
 
Building a Microsoft cloud with open technologies
Building a Microsoft cloud with open technologiesBuilding a Microsoft cloud with open technologies
Building a Microsoft cloud with open technologiesAlessandro Pilotti
 
WebCenter Portal - Integrate Custom taskflows
WebCenter Portal - Integrate Custom taskflowsWebCenter Portal - Integrate Custom taskflows
WebCenter Portal - Integrate Custom taskflowsenpit GmbH & Co. KG
 
Interoperable OpenStack guest provisioning with Cloudbase-Init
Interoperable OpenStack guest provisioning with Cloudbase-InitInteroperable OpenStack guest provisioning with Cloudbase-Init
Interoperable OpenStack guest provisioning with Cloudbase-InitAlessandro Pilotti
 
OSGi from the Trenches- Painless Server Side Development - Magnus Jungsbluth ...
OSGi from the Trenches- Painless Server Side Development - Magnus Jungsbluth ...OSGi from the Trenches- Painless Server Side Development - Magnus Jungsbluth ...
OSGi from the Trenches- Painless Server Side Development - Magnus Jungsbluth ...mfrancis
 
Your journey into the serverless world
Your journey into the serverless worldYour journey into the serverless world
Your journey into the serverless worldRed Hat Developers
 
The DevOps PaaS Infusion - May meetup
The DevOps PaaS Infusion - May meetupThe DevOps PaaS Infusion - May meetup
The DevOps PaaS Infusion - May meetupNorm Leitman
 
Repository Management with JFrog Artifactory
Repository Management with JFrog ArtifactoryRepository Management with JFrog Artifactory
Repository Management with JFrog ArtifactoryStephen Chin
 

Mais procurados (20)

Modular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache KarafModular Java applications with OSGi on Apache Karaf
Modular Java applications with OSGi on Apache Karaf
 
Meetup Docker@Nuxeo - Build a Cloud Platform with Docker
Meetup Docker@Nuxeo - Build a Cloud Platform with DockerMeetup Docker@Nuxeo - Build a Cloud Platform with Docker
Meetup Docker@Nuxeo - Build a Cloud Platform with Docker
 
Lessons from Jenkins Platform Support
Lessons from Jenkins Platform SupportLessons from Jenkins Platform Support
Lessons from Jenkins Platform Support
 
ASP.NET 5 - Microsoft's Web development platform reimagined
ASP.NET 5 - Microsoft's Web development platform reimaginedASP.NET 5 - Microsoft's Web development platform reimagined
ASP.NET 5 - Microsoft's Web development platform reimagined
 
OpenNebula Conf 2014 | OpenNebula as Open Replacement of vCloud by Javier Fontan
OpenNebula Conf 2014 | OpenNebula as Open Replacement of vCloud by Javier FontanOpenNebula Conf 2014 | OpenNebula as Open Replacement of vCloud by Javier Fontan
OpenNebula Conf 2014 | OpenNebula as Open Replacement of vCloud by Javier Fontan
 
What's New and Next in OpenNTF Domino API (ICON UK 2014)
What's New and Next in OpenNTF Domino API (ICON UK 2014)What's New and Next in OpenNTF Domino API (ICON UK 2014)
What's New and Next in OpenNTF Domino API (ICON UK 2014)
 
Nuxeo World Session: Becoming a Contributor: How to Get Started
Nuxeo World Session: Becoming a Contributor: How to Get StartedNuxeo World Session: Becoming a Contributor: How to Get Started
Nuxeo World Session: Becoming a Contributor: How to Get Started
 
OpenNebulaConf 2013 - OpenNebula in a Multi-Customer-Environment by Bernd Erk
OpenNebulaConf 2013 - OpenNebula in a Multi-Customer-Environment by Bernd ErkOpenNebulaConf 2013 - OpenNebula in a Multi-Customer-Environment by Bernd Erk
OpenNebulaConf 2013 - OpenNebula in a Multi-Customer-Environment by Bernd Erk
 
Performance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMsPerformance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMs
 
FOSDEM 2012 - OpenNebula Project
FOSDEM 2012 - OpenNebula ProjectFOSDEM 2012 - OpenNebula Project
FOSDEM 2012 - OpenNebula Project
 
CloudOpen 2012 OpenNebula talk
CloudOpen 2012 OpenNebula talkCloudOpen 2012 OpenNebula talk
CloudOpen 2012 OpenNebula talk
 
From CoreOS to Kubernetes and Concourse CI
From CoreOS to Kubernetes and Concourse CIFrom CoreOS to Kubernetes and Concourse CI
From CoreOS to Kubernetes and Concourse CI
 
Docker+java
Docker+javaDocker+java
Docker+java
 
Building a Microsoft cloud with open technologies
Building a Microsoft cloud with open technologiesBuilding a Microsoft cloud with open technologies
Building a Microsoft cloud with open technologies
 
WebCenter Portal - Integrate Custom taskflows
WebCenter Portal - Integrate Custom taskflowsWebCenter Portal - Integrate Custom taskflows
WebCenter Portal - Integrate Custom taskflows
 
Interoperable OpenStack guest provisioning with Cloudbase-Init
Interoperable OpenStack guest provisioning with Cloudbase-InitInteroperable OpenStack guest provisioning with Cloudbase-Init
Interoperable OpenStack guest provisioning with Cloudbase-Init
 
OSGi from the Trenches- Painless Server Side Development - Magnus Jungsbluth ...
OSGi from the Trenches- Painless Server Side Development - Magnus Jungsbluth ...OSGi from the Trenches- Painless Server Side Development - Magnus Jungsbluth ...
OSGi from the Trenches- Painless Server Side Development - Magnus Jungsbluth ...
 
Your journey into the serverless world
Your journey into the serverless worldYour journey into the serverless world
Your journey into the serverless world
 
The DevOps PaaS Infusion - May meetup
The DevOps PaaS Infusion - May meetupThe DevOps PaaS Infusion - May meetup
The DevOps PaaS Infusion - May meetup
 
Repository Management with JFrog Artifactory
Repository Management with JFrog ArtifactoryRepository Management with JFrog Artifactory
Repository Management with JFrog Artifactory
 

Semelhante a How Nuxeo uses the open-source continuous integration server Jenkins

JUC Paris 2012 — Jenkins @ Nuxeo
JUC Paris 2012 — Jenkins @ NuxeoJUC Paris 2012 — Jenkins @ Nuxeo
JUC Paris 2012 — Jenkins @ NuxeoJulien Carsique
 
JUC NY - Advanced Continuous Deployment with Jenkins
JUC NY - Advanced Continuous Deployment with JenkinsJUC NY - Advanced Continuous Deployment with Jenkins
JUC NY - Advanced Continuous Deployment with JenkinsXebiaLabs
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformNuxeo
 
The challenge - testing the oVirt project
The challenge - testing the oVirt projectThe challenge - testing the oVirt project
The challenge - testing the oVirt projectEyal Edri
 
Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...
Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...
Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...Edureka!
 
[Nuxeo World 2013] XML EXTENSION POINT COMPLETION IN NUXEO IDE - SUN TAN, SERLI
[Nuxeo World 2013] XML EXTENSION POINT COMPLETION IN NUXEO IDE - SUN TAN, SERLI[Nuxeo World 2013] XML EXTENSION POINT COMPLETION IN NUXEO IDE - SUN TAN, SERLI
[Nuxeo World 2013] XML EXTENSION POINT COMPLETION IN NUXEO IDE - SUN TAN, SERLINuxeo
 
Strengthen and Scale Security Using DevSecOps - OWASP Indonesia
Strengthen and Scale Security Using DevSecOps - OWASP IndonesiaStrengthen and Scale Security Using DevSecOps - OWASP Indonesia
Strengthen and Scale Security Using DevSecOps - OWASP IndonesiaMohammed A. Imran
 
DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)
DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)
DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)Chen Cheng-Wei
 
Strengthen and Scale Security for a dollar or less
Strengthen and Scale Security for a dollar or lessStrengthen and Scale Security for a dollar or less
Strengthen and Scale Security for a dollar or lessMohammed A. Imran
 
Mobile developments at eXo
Mobile developments at eXoMobile developments at eXo
Mobile developments at eXoArnaud Héritier
 
Webinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OSWebinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OSMesosphere Inc.
 
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDevTriple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDevWerner Keil
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009Stefane Fermigier
 
Scale security for a dollar or less
Scale security for a dollar or lessScale security for a dollar or less
Scale security for a dollar or lessMohammed A. Imran
 
DevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of JenkinsDevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of JenkinsNigel Charman
 
Hands on iOS developments with Jenkins
Hands on iOS developments with JenkinsHands on iOS developments with Jenkins
Hands on iOS developments with JenkinseXo Platform
 
Shipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOSShipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOSRoss Kukulinski
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com JenkinsAécio Pires
 

Semelhante a How Nuxeo uses the open-source continuous integration server Jenkins (20)

JUC Paris 2012 — Jenkins @ Nuxeo
JUC Paris 2012 — Jenkins @ NuxeoJUC Paris 2012 — Jenkins @ Nuxeo
JUC Paris 2012 — Jenkins @ Nuxeo
 
JUC NY - Advanced Continuous Deployment with Jenkins
JUC NY - Advanced Continuous Deployment with JenkinsJUC NY - Advanced Continuous Deployment with Jenkins
JUC NY - Advanced Continuous Deployment with Jenkins
 
Jenkins 1
Jenkins 1Jenkins 1
Jenkins 1
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platform
 
The challenge - testing the oVirt project
The challenge - testing the oVirt projectThe challenge - testing the oVirt project
The challenge - testing the oVirt project
 
Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...
Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...
Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...
 
[Nuxeo World 2013] XML EXTENSION POINT COMPLETION IN NUXEO IDE - SUN TAN, SERLI
[Nuxeo World 2013] XML EXTENSION POINT COMPLETION IN NUXEO IDE - SUN TAN, SERLI[Nuxeo World 2013] XML EXTENSION POINT COMPLETION IN NUXEO IDE - SUN TAN, SERLI
[Nuxeo World 2013] XML EXTENSION POINT COMPLETION IN NUXEO IDE - SUN TAN, SERLI
 
Strengthen and Scale Security Using DevSecOps - OWASP Indonesia
Strengthen and Scale Security Using DevSecOps - OWASP IndonesiaStrengthen and Scale Security Using DevSecOps - OWASP Indonesia
Strengthen and Scale Security Using DevSecOps - OWASP Indonesia
 
DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)
DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)
DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)
 
Strengthen and Scale Security for a dollar or less
Strengthen and Scale Security for a dollar or lessStrengthen and Scale Security for a dollar or less
Strengthen and Scale Security for a dollar or less
 
Mobile developments at eXo
Mobile developments at eXoMobile developments at eXo
Mobile developments at eXo
 
10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung
 
Webinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OSWebinar: End-to-End CI/CD with GitLab and DC/OS
Webinar: End-to-End CI/CD with GitLab and DC/OS
 
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDevTriple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009
 
Scale security for a dollar or less
Scale security for a dollar or lessScale security for a dollar or less
Scale security for a dollar or less
 
DevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of JenkinsDevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of Jenkins
 
Hands on iOS developments with Jenkins
Hands on iOS developments with JenkinsHands on iOS developments with Jenkins
Hands on iOS developments with Jenkins
 
Shipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOSShipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOS
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com Jenkins
 

Mais de Nuxeo

Own the Digital Shelf Strategies Food and Beverage Companies
Own the Digital Shelf Strategies Food and Beverage CompaniesOwn the Digital Shelf Strategies Food and Beverage Companies
Own the Digital Shelf Strategies Food and Beverage CompaniesNuxeo
 
How DAM Librarians Can Get Ready for the Uncertain Future
How DAM Librarians Can Get Ready for the Uncertain FutureHow DAM Librarians Can Get Ready for the Uncertain Future
How DAM Librarians Can Get Ready for the Uncertain FutureNuxeo
 
How Insurers Fueled Transformation During a Pandemic
How Insurers Fueled Transformation During a PandemicHow Insurers Fueled Transformation During a Pandemic
How Insurers Fueled Transformation During a PandemicNuxeo
 
Manage your Content at Scale with MongoDB and Nuxeo
Manage your Content at Scale with MongoDB and NuxeoManage your Content at Scale with MongoDB and Nuxeo
Manage your Content at Scale with MongoDB and NuxeoNuxeo
 
Accelerate the Digital Supply Chain From Idea to Support
Accelerate the Digital Supply Chain From Idea to SupportAccelerate the Digital Supply Chain From Idea to Support
Accelerate the Digital Supply Chain From Idea to SupportNuxeo
 
Where are you in the DAM Continuum
Where are you in the DAM ContinuumWhere are you in the DAM Continuum
Where are you in the DAM ContinuumNuxeo
 
Customer Experience in 2021
Customer Experience in 2021Customer Experience in 2021
Customer Experience in 2021Nuxeo
 
L’IA personnalisée, clé d’une gestion de l’information innovante
L’IA personnalisée, clé d’une gestion de l’information innovanteL’IA personnalisée, clé d’une gestion de l’information innovante
L’IA personnalisée, clé d’une gestion de l’information innovanteNuxeo
 
Gérer ses contenus avec MongoDB et Nuxeo
Gérer ses contenus avec MongoDB et NuxeoGérer ses contenus avec MongoDB et Nuxeo
Gérer ses contenus avec MongoDB et NuxeoNuxeo
 
Le DAM en 2021 : Tendances, points clés et critères d'évaluation
Le DAM en 2021 : Tendances, points clés et critères d'évaluationLe DAM en 2021 : Tendances, points clés et critères d'évaluation
Le DAM en 2021 : Tendances, points clés et critères d'évaluationNuxeo
 
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...Nuxeo
 
Elevate your Customer's Experience and Stay Ahead of the Competition
Elevate your Customer's Experience and Stay Ahead of the CompetitionElevate your Customer's Experience and Stay Ahead of the Competition
Elevate your Customer's Experience and Stay Ahead of the CompetitionNuxeo
 
Driving Brand Loyalty Through Superior Customer Experience
Driving Brand Loyalty Through Superior Customer Experience Driving Brand Loyalty Through Superior Customer Experience
Driving Brand Loyalty Through Superior Customer Experience Nuxeo
 
Drive Enterprise Speed and Scale with A Cloud-Native DAM
Drive Enterprise Speed and Scale with A Cloud-Native DAMDrive Enterprise Speed and Scale with A Cloud-Native DAM
Drive Enterprise Speed and Scale with A Cloud-Native DAMNuxeo
 
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...Nuxeo
 
How Creatives Are Getting Creative in 2020 and Beyond
How Creatives Are Getting Creative in 2020 and BeyondHow Creatives Are Getting Creative in 2020 and Beyond
How Creatives Are Getting Creative in 2020 and BeyondNuxeo
 
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAMDigitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAMNuxeo
 
Reimagine Your Claims Process with Future-Proof Technologies
Reimagine Your Claims Process with Future-Proof TechnologiesReimagine Your Claims Process with Future-Proof Technologies
Reimagine Your Claims Process with Future-Proof TechnologiesNuxeo
 
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifsComment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifsNuxeo
 
Accelerating the Packaging Design Process with Artificial Intelligence
Accelerating the Packaging Design Process with Artificial IntelligenceAccelerating the Packaging Design Process with Artificial Intelligence
Accelerating the Packaging Design Process with Artificial IntelligenceNuxeo
 

Mais de Nuxeo (20)

Own the Digital Shelf Strategies Food and Beverage Companies
Own the Digital Shelf Strategies Food and Beverage CompaniesOwn the Digital Shelf Strategies Food and Beverage Companies
Own the Digital Shelf Strategies Food and Beverage Companies
 
How DAM Librarians Can Get Ready for the Uncertain Future
How DAM Librarians Can Get Ready for the Uncertain FutureHow DAM Librarians Can Get Ready for the Uncertain Future
How DAM Librarians Can Get Ready for the Uncertain Future
 
How Insurers Fueled Transformation During a Pandemic
How Insurers Fueled Transformation During a PandemicHow Insurers Fueled Transformation During a Pandemic
How Insurers Fueled Transformation During a Pandemic
 
Manage your Content at Scale with MongoDB and Nuxeo
Manage your Content at Scale with MongoDB and NuxeoManage your Content at Scale with MongoDB and Nuxeo
Manage your Content at Scale with MongoDB and Nuxeo
 
Accelerate the Digital Supply Chain From Idea to Support
Accelerate the Digital Supply Chain From Idea to SupportAccelerate the Digital Supply Chain From Idea to Support
Accelerate the Digital Supply Chain From Idea to Support
 
Where are you in the DAM Continuum
Where are you in the DAM ContinuumWhere are you in the DAM Continuum
Where are you in the DAM Continuum
 
Customer Experience in 2021
Customer Experience in 2021Customer Experience in 2021
Customer Experience in 2021
 
L’IA personnalisée, clé d’une gestion de l’information innovante
L’IA personnalisée, clé d’une gestion de l’information innovanteL’IA personnalisée, clé d’une gestion de l’information innovante
L’IA personnalisée, clé d’une gestion de l’information innovante
 
Gérer ses contenus avec MongoDB et Nuxeo
Gérer ses contenus avec MongoDB et NuxeoGérer ses contenus avec MongoDB et Nuxeo
Gérer ses contenus avec MongoDB et Nuxeo
 
Le DAM en 2021 : Tendances, points clés et critères d'évaluation
Le DAM en 2021 : Tendances, points clés et critères d'évaluationLe DAM en 2021 : Tendances, points clés et critères d'évaluation
Le DAM en 2021 : Tendances, points clés et critères d'évaluation
 
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
 
Elevate your Customer's Experience and Stay Ahead of the Competition
Elevate your Customer's Experience and Stay Ahead of the CompetitionElevate your Customer's Experience and Stay Ahead of the Competition
Elevate your Customer's Experience and Stay Ahead of the Competition
 
Driving Brand Loyalty Through Superior Customer Experience
Driving Brand Loyalty Through Superior Customer Experience Driving Brand Loyalty Through Superior Customer Experience
Driving Brand Loyalty Through Superior Customer Experience
 
Drive Enterprise Speed and Scale with A Cloud-Native DAM
Drive Enterprise Speed and Scale with A Cloud-Native DAMDrive Enterprise Speed and Scale with A Cloud-Native DAM
Drive Enterprise Speed and Scale with A Cloud-Native DAM
 
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
 
How Creatives Are Getting Creative in 2020 and Beyond
How Creatives Are Getting Creative in 2020 and BeyondHow Creatives Are Getting Creative in 2020 and Beyond
How Creatives Are Getting Creative in 2020 and Beyond
 
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAMDigitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
 
Reimagine Your Claims Process with Future-Proof Technologies
Reimagine Your Claims Process with Future-Proof TechnologiesReimagine Your Claims Process with Future-Proof Technologies
Reimagine Your Claims Process with Future-Proof Technologies
 
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifsComment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifs
 
Accelerating the Packaging Design Process with Artificial Intelligence
Accelerating the Packaging Design Process with Artificial IntelligenceAccelerating the Packaging Design Process with Artificial Intelligence
Accelerating the Packaging Design Process with Artificial Intelligence
 

Último

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Último (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

How Nuxeo uses the open-source continuous integration server Jenkins

  • 1. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf Julien Carsique, DevOps https://qa.nuxeo.org/jenkins
  • 2. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The Nuxeo company — www.nuxeo.com ● Founded in 2000 ● ~ 50 employees (mainly France & USA) ● Open Source Enterprise Content Management ● No-charge software licensing with LGPL ● Nuxeo Connect subscription offering for support, maintenance, consulting, training and services: ● Nuxeo Studio ● Nuxeo Marketplace ● Nuxeo Cloud 17/04/2012 2/25
  • 3. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The Nuxeo products Document and Case Management 17/04/2012 3/25
  • 4. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The Nuxeo products Digital Assets Management 17/04/2012 4/25
  • 5. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The Nuxeo products Web sites 17/04/2012 5/25
  • 6. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The Nuxeo products Public facing applications, RIA and much more … 17/04/2012 6/25
  • 7. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The Nuxeo products Open Source ECM platform, applications and services ● Nuxeo Platform ● Java and standards based ● Component based architecture ● Extensible and configurable ECM services ● UI building blocks and High level frameworks ● A lot of integration levels and APIs ● Testing, benchmarking and packaging tools ● Development tools (Nuxeo Studio, Nuxeo IDE) ● Ready to use pre-packaged applications 17/04/2012 7/25
  • 8. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The challenge of The source code ● 200+ SubVersion, Mercurial and Git repositories ● 1M+ LoC, 500+ Maven modules ● 5 application modules and 60+ addons ● 500+ components in the Platform ● 2500+ unit tests, 2000+ Selenium and WebDriver tests ● 10+ languages (Java, XML, JavaScript, HTML, CSS, Python, Shell, SQL, Groovy, …) and tools (Maven, Ant, Shell, …) ● 30~50 active committers and contributors ● ~1000 commits/month ● 1 development branch, 3~5 maintenance branches 17/04/2012 8/25
  • 9. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The challenge of The human constraints ● Follow and maintain quality ● Save developers time ● Doing more checks than they can ● Providing a safety net for their changes ● No need to build everything themselves ● Save testers time ● Automate tests in various environments ● Warn on regression ● Easy to download latest deliverables ● Save integrators time ● Work on Nuxeo development branch with more confidence ● Get guarantees on code quality 17/04/2012 9/25
  • 10. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The challenge of The deployment constraints ● Multiple deployment target ● WAR, JEE or bare Java ● OS (Linux, Unix, Windows, MacOS) ● DB (PostgreSQL, Oracle, SQLServer, MySQL, …) ● BlobStore backend (FS, NAS, S3, SQLDB, ...) ● Scalability and performance ● Cluster support ● Multi-DB scale-out (several repositories and/or DB) ● Raw performances (100M docs benchmark on a single server; 200 pages/s output on complex business apps) ● Easy maintenance ● Backup, restore, upgrade ● export/import 17/04/2012 10/25
  • 11. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The history of The beginning ● Before 2007: BuildBot ● 2007 — Nuxeo 5 switch to Java ● Trying CruiseControl, TeamCity, Continuum, … Hudson! ● Goals for Nuxeo 5.1 ● Code analysis (Quality Assurance) ● Build and unit test Nuxeo against default environment – Linux, JBoss, Sun JDK 5, H2 – Smoke test at JBoss start – Run Selenium suite ● Automate Nuxeo release process ● Automate generation and test of documentation ● Involve developers 17/04/2012 11/25
  • 12. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The history of Nuxeo 5.1 — CI architecture RELEASES and SNAPSHOTS Maven.nuxeo.org from outside RE UPLOAD RELEASES & SNAPSHOTS RE S LEA LE SE SE S AS EA L ES RE Public Internal Nexus Private Internal Nexus Nexus Preprod DOWNLOAD DOWNLOAD UPLOAD UPLOAD DOWNLOAD UPLOAD Public Jenkins Master Private Jenkins Master 17/04/2012 12/25
  • 13. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The history of Nuxeo 5.1 — CI architecture and usage ● Speed up build time ● Organize teams resources ● Ensure publicly available artifacts quality ● Isolate internal and external build chains ● Enforce rules for developers ● Early use of CI ● Think about what kind of build (Maven, Shell, Ant, …) and what must be checked for validation (unit tests, errors in logs, …)? ● Automated build: nothing specific or contextual to the slave ● Make the build self-testing ● Stay tuned, be aware of CI activity ● Never let a project in an unstable status 17/04/2012 13/25
  • 14. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The history of Nuxeo 5.1 to 5.3 — making heavy use of CI ● Release process improvement ● Automated tasks ● Nightly / On demand ● Build promotion ● More and more tests and environments ● More performance and functional tests ● Tests with Jetty, JBoss and Tomcat ● Matrix testing jobs with OS and databases ● Testing development and administration tools ● Seriously increasing number of builds ● New packages and installers (Debian, VM, Windows, Multi-OS, …) ● New applications (Android, Nuxeo CMF, Nuxeo DAM, …) ● New plugins for Firefox, IE, OpenOffice/LibreOffice ● Accumulating versions to maintain 17/04/2012 14/25
  • 15. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The history of Nuxeo 5.3 to 5.4 (2010-2011) — growing CI issues ● CI performance issues ● CPU, network and disk usage ● Slave usage strategy ● Full cycle duration ● CI usage issues ● Build waiting time ● Feedback delay ● Feedback accuracy ● Jobs' dependencies 17/04/2012 15/25
  • 16. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The history of Nuxeo 5.4 (2011) — CI improvements, Jenkins analysis ● Build cycles, workflows and durations ● Use of Jenkviz (homemade tool), Dependency Graph View and (enhanced) Build Timeout plugins 17/04/2012 16/25
  • 17. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The history of Nuxeo 5.4 (2011) — CI improvements, solutions ● Work on source code ● GWT optimizations (reduce build time) ● Review testing suites, prefer use of WebDriver over Selenium ● Work on CI ● Improve slaves usage (using labels), local vs remote ● Give priority to jobs with low duration (earlier feedback) ● New short and permanent cycle ● Create independent jobs for specific purposes ● Create new views to help developers ● Add CPU and/or memory on some slaves ● Improve Nexus infrastructure (Maven build time) ● Fix jobs triggering issue 17/04/2012 17/25
  • 18. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The history of Nuxeo 5.5 — the current status 17/04/2012 18/25
  • 19. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The history of Nuxeo 5.5 — the current status ● Great coverage and good delays ● 4 kinds of CI cycles per Nuxeo version maintained – Triggered by commit (300 jobs) – Full build and tests per day (10 jobs) – Independent cycle per 3 hours (11 jobs) – Nightly build (40 jobs) ● Less than 10 minutes to 3 hours max for main feedback ● Code and applications tested on multi-DB/OS/JDK/servers ● 6 hours for the longest build cycle ● About 450 jobs on 25 servers (2 masters), 200~?K builds/day ● 6 database engines tested on 5 operating systems ● 7 applications tested in all environments ● 50K~100K tests ran including all products and versions under CI 17/04/2012 19/25
  • 20. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The history of Nuxeo 5.5 — the current status, major CI cycles Job trigger Performance tests multi-DB Commit SCM Sources Build & Packaging Functional tests multi-OS/DB Mercurial/GitHub trigger checkout Unit tests 7 apps, 2 servers Various addons functional tests Full build & tests multi-JDK daily Sources Packaging multi-OS Smoke tests trigger Full build & tests multi-DB Linux checkout Full build & tests multi-DB Win 3h Sources Merge « stable » trigger Full build (no tests) Packaging all applications Functional tests checkout branch (GitHub) Permanent cycle Nightly Sources Full build (no tests) Functional tests Packaging all applications multi-DB/OS/JDK/servers, cluster Manual checkout Prepare release Batch task Performance tests (référence) Perform release Build installers (Debian, Merge «5.6-SNAPSHOT» Win, multi-OS, ...) branch (GitHub) Push release tag (GitHub) Deploy «5.6-SNAPSHOT» Test and upload installers Deploy release artifacts Maven artifacts 17/04/2012 20/25
  • 21. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The history of Nuxeo 5.5 — main Jenkins plugins used ● Required ● Subversion, Mercurial, MSBuild, GIT, GitHub, Android Emulator ● Useful for Jenkins management ● Priority Sorter, Parameterized Trigger, Retry Failed Builds, Rebuilder, Hudson Post build task, Matrix Reloaded, next-executions, Bulk Builder, Join, Promoted Builds, batch task ● Change Log History, Maven Deployment Linker, SCM Sync Configuration, Multiple SCMs, Static Analysis Utilities, Timestamper, build timeout, Hudson Setenv, java.io.tmpdir cleaner, Hudson global-build-stats, Node and Label parameter, Monitoring, SSH Slaves, Dependency Graph Viewer, Performance, Disk Usage ● Useful reports ● Checkstyle, FindBugs, Task Scanner, PMD, Warnings, Hudson Seleniumhq, Selenium HTML report, Cobertura, TextFinder, JUnit Attachments, Duplicate Code Scanner ● For end-users ● Dashboard View, Claim, Radiator View, Hudson iPhoneView, Continuous Integration game, instant-messaging, Jabber notifier, built-on-column, Compact Columns, Version Column, Email-ext, View Job Filters, Extra Columns, Simple Theme 17/04/2012 21/25
  • 22. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The history of Nuxeo 5.6 — the near future ● Better quality testing with Sonar ● Integration with Jira ● Automated merges from QA dedicated branches to the development branch ● Automated Jenkins infrastructure deployment on cloud ● Custom slaves on demand (Chef / Puppet, chroot / LXC, …) ● Work on Nuxeo Cloud & Compatible One R&D ● CloudBees ● Nuxeo CI (partial or full) migration to the cloud 17/04/2012 22/25
  • 23. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf The history of Nuxeo 5.6 — the near future ● Jenkins enhancements (plugins) ● More abstraction to avoid plugins compliance ● Multiple SCM & Git ● SCM change log feeder ● Matrix jobs improvements ● Node Label & Parameterized trigger ● Dependency Graph ● Infrastructure failures (Check job prerequisites++) ● Jobs workflow management ● … 17/04/2012 23/25
  • 24. Jenkins User Conference Paris, 17 April 2012 #jenkinsconf Conclusion ● Jenkins ● Easy maintenance ● Good scalability ● Great community and plugins catalog ● Powerful extensibility ● Efficient contribution process ● Cloud capabilities ● Nuxeo ● CI & QA on Nuxeo Platform frameworks ● Stable APIs with backward and forward compatibility ● Stable applications with good performances ● Automated processes with very few manual interventions 17/04/2012 24/25
  • 25. 25 17/04/2012 Jenkins User Conference Paris 17 April 2012 #jenkinsconf Thank You To Our Sponsors Platinum Sponsor Gold Sponsor Silver Sponsor