SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
Presentation of the
Codenvy/Docker
to create eXo Add-on factories
Copyright 2015 eXo Platform
A presentation
by CWI/PRD Team
● Environment setup to develop eXo extensions is
time consuming and resource intensive.
● Setup third party Maven repository
● Setup a complete eXo Platform Runtime
to Deploy & Test the extension
● Powerful computer to run eXo Platform
Building eXo Add-on with Current Process
Copyright 2015 eXo Platform
ManualSteps
Agenda
Copyright 2015 eXo Platform
Enjoy...
1. eXo’s Goal - Encourage eXo Addon development
2. Docker Introduction
3. Codenvy/Factory Introduction
4. Building eXo Add-on Factory thanks to Codenvy/Docker
5. Live Demo
A developer can view the code and then
modify it, build it, test it, debug it and run it
without installing anything
eXo’s Goal - Encourage eXo Add-on Development
Copyright 2015 eXo Platform
● Deliver a ready-to-use IDE for
fast on boarding.
● Available through a simple URL
● On eXo Add-ons Catalog:
“Code & Run” button to
launches factory
eXo’s Goal - Encourage eXo Add-on development
Copyright 2015 eXo Platform
Use of Codenvy Factories allows a “One Click Code & Run”
The introduction of
in brief
Copyright 2015 eXo Platform
Copyright 2015 eXo Platform
“An open source project to pack, ship and run any
application as a lightweight container.”
Copyright 2015 eXo Platform
● For years, setup/installation/configuration
packages/software have been complex activities:
○ dependencies: Tomcat needs JVM
○ versions management: Tomcat 7 needs JVM 7,
host server can have v6, v7, v8, how assure ?
○ configuration: Tomcat ports, security
○ update services, startup
Become more important in dev/pre-prod/prod
Reasons to use Docker ?
Copyright 2015 eXo Platform
Reasons to use Docker ?
Copyright 2015 eXo Platform
Hope I don’t forget any child, I haz 7
ducks
-- Tomcat Mother Duck --
In prod, I haz 3 ducks more, which one
is first ?
-- Tomcat Mother Duck --
DEVELOPMENT
PRODUCTION
Reasons to use Docker ?
Copyright 2015 eXo Platform
With
I embark them all, no need to remember :)
-- Tomcat Mother Duck --
● Docker is a new way of virtualizing, aiming to “build,
ship, and run any app, anywhere”
Main Benefits: COST EFFECTIVE
VMs:
- Each VM is 10Gb size
10 VMs =10x10= 100Gb resources.
Docker (Linux Containers):
<< 100Gb resources.
Docker in few words
Copyright 2015 eXo Platform
● Java is the code, docker is the config (Dockerfile)
sample:
Copyright 2015 eXo Platform
Like Java
● Git semantics: commit, push, pull
● docker pull exoplatform/exo-maven
● docker commit
● docker push
Copyright 2015 eXo Platform
Like Git
● Control versioning like Git (pull, commit, push, diff ...)
● Write once, run everywhere like Java (build, start, run,
save ...)
○ Run configs on your local as real as on server
● Can be integrated easily into various infrastructures:
cloud, CI server (Codenvy, jenkins…)
Copyright 2015 eXo Platform
Working with Docker
eXo has a list of pre-built images
● docker pull exoplatform/ubuntu-jdk7-exo
● docker run -p 8080:8080 exoplatform/ubuntu-jdk7-exo
eXo Docker Images
Copyright 2015 eXo Platform
Some cases to use Docker in real world
Copyright 2015 eXo Platform
ADMIN
PLF image
pre-configured
Cloud Dev
Acceptance
Local dev
Support
QA campaigns
Quick fixes
consistency on 1 package
The introduction of
Copyright 2015 eXo Platform
● It started out as an additional feature to the eXo
Platform in early 2009.
● Codenvy is a cloud environment for coding, building,
debugging and running apps (IDE in the cloud)
● Codenvy allows any developer to run application in
Docker, all from the browser without downloading
anything on the desktop.
What is Codenvy?
Copyright 2015 eXo Platform
What is Codenvy?
Copyright 2015 eXo Platform
Impact in the software industry and the way we work
● The way software vendors promote APIs and
SDKs.
● Developers collaborate while building apps.
● Developers exchange with QA teams.
● Cloud development environments are managed by
DevOps....
Codenvy
Copyright 2015 eXo Platform
● Creating a pre-configured environment for speeding
development of new applications, add-ons, APIs or
any other software
● Providing a development environment for modifying
existing software and testing it out of the box
● Simplifying project collaboration for Development
teams...
Codenvy Factory
Copyright 2015 eXo Platform
● There are three types of Codenvy Factories:
● Hack Factories
● Tracked Factories (require a special account)
● Branded Factories (require a special account)
Tracked and Branded Factories allow advanced customisations (ex:
Welcome screens, branding, etc…) and provide powerful analytics features.
Tutorial: Building a Contribution Factory From Scratch
Codenvy Factory (cont.)
Copyright 2015 eXo Platform
Codenvy Factory (cont.)
Copyright 2015 eXo Platform
● In Codenvy a “runner” is the
term to describe an execution
runtime
● In order to deploy custom
runners, Codenvy uses Docker
recipes
Codenvy Factory (cont.)
Copyright 2015 eXo Platform
Codenvy custom Runner
Docker File
exoplatform/ubuntu-jdk-
exo
exoplatform/exo-
presetup-account
exoplatform/exo-maven
Inheritanceimage
● Check out source code from the official eXo Github
● Customize Maven config for Codenvy
● Provide a Docker based runtime to Build, Deploy and
Test the code
Complete Maven based eXo build environment
eXo Platform 4.1 runtime completely setup and ready to try Add-on
(with 4GB RAM)
Codenvy Factory
Copyright 2015 eXo Platform
Copyright 2015 eXo Platform
Codenvy Factory
LIVE DEMO CREATE
YOUR FIRST FACTORY
IN SOME STEPS
Requirements:
● A Codenvy account
● Codenvy CLI installed on your local machine
● Github account and DockerHub account linked to
your Github account.
● Host the static resources (html...)
Getting started to build new factory
Copyright 2015 eXo Platform
Create new Codenvy Factory for eXo Marketplace Addon
● Codenvy Factory.json source
● Dockerfile
● Welcome HTML file
● Docker files repo & eXo Dockerhub
DEMO
Copyright 2015 eXo Platform
DEMO
Copyright 2015 eXo Platform
● Create factory
➔ codenvy> create-factory /Users/namph/java/eXoProjects/exo-
docker/exo-addons/marketplace-extension/factory-markterplace.json
➔ Factory URL: https://codenvy.com/f?id=3q8lxmzs4clmcdg8
● Visit eXo Add-ons Catalog
● Click on “Code new Add-on” ( ) button
● Implement your Add-on with template
● Click on “Run” ( ) button to build, deploy and start
Web Server
Code new eXo Add-on thanks to Docker/Codenvy
Copyright 2015 eXo Platform
● Codenvy’s blog post: Create an new eXo Factory
Using Codenvy and Docker
● Webinar: Codenvy Contribution Factory with eXo Chat
● eXo’s blog post: The new codenvy is a game changer
and everybody benefits
● Tutorial: Codenvy Contribution Factory with eXo Chat
Find more resources
Copyright 2015 eXo Platform
● We can do even better with the new version Codenvy
2.1
to make the factory cleaner, easier to maintain and
maybe faster
● Improvement for eXo Factories by using “Try Now"
and "Code Now" buttons instead of the current "Code
& Run"
Go further
Copyright 2015 eXo Platform
Thank you !

Weitere ähnliche Inhalte

Was ist angesagt?

Flutter festival - building ui's with flutter
Flutter festival - building ui's with flutterFlutter festival - building ui's with flutter
Flutter festival - building ui's with flutterApoorv Pandey
 
Build web applications using google flutter
Build web applications using google flutterBuild web applications using google flutter
Build web applications using google flutterAhmed Abu Eldahab
 
Google I/O 2016 Key notes
Google I/O 2016 Key notesGoogle I/O 2016 Key notes
Google I/O 2016 Key notesmayur akabari
 
Build beautiful native apps in record time with flutter
Build beautiful native apps in record time with flutterBuild beautiful native apps in record time with flutter
Build beautiful native apps in record time with flutterRobertLe30
 
Flutter beyond hello world GCDC Egypt Devfest 2019
Flutter beyond hello world GCDC Egypt  Devfest 2019Flutter beyond hello world GCDC Egypt  Devfest 2019
Flutter beyond hello world GCDC Egypt Devfest 2019Ahmed Abu Eldahab
 
Flutter for web
Flutter for web Flutter for web
Flutter for web rihannakedy
 
Google flutter the easy and practical way
Google flutter the easy and practical wayGoogle flutter the easy and practical way
Google flutter the easy and practical wayAhmed Abu Eldahab
 
JavaScript as a First-Class Citizen on iOS 7
JavaScript as a First-Class Citizen on iOS 7JavaScript as a First-Class Citizen on iOS 7
JavaScript as a First-Class Citizen on iOS 7Kevin Whinnery
 
Flutter festival Info session -2022
Flutter festival Info session -2022Flutter festival Info session -2022
Flutter festival Info session -2022Apoorv Pandey
 
Getting started with flutter
Getting started with flutterGetting started with flutter
Getting started with flutterrihannakedy
 
Flutter not yet another mobile cross-platform framework - i ox-kl19
Flutter   not yet another mobile cross-platform framework - i ox-kl19Flutter   not yet another mobile cross-platform framework - i ox-kl19
Flutter not yet another mobile cross-platform framework - i ox-kl19oradoe
 
Flutter Tutorial For Beginners | Edureka
Flutter Tutorial For Beginners | EdurekaFlutter Tutorial For Beginners | Edureka
Flutter Tutorial For Beginners | EdurekaEdureka!
 
Congrats web developer, you are also a mobile developer!
Congrats web developer, you are also a mobile developer!Congrats web developer, you are also a mobile developer!
Congrats web developer, you are also a mobile developer!Eyal Eizenberg
 
[Alexandria Devfest] the magic of flutter
[Alexandria Devfest] the magic of flutter[Alexandria Devfest] the magic of flutter
[Alexandria Devfest] the magic of flutterAhmed Abu Eldahab
 
Silverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression BlendSilverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression BlendCaleb Jenkins
 
Utilizing HTML5 APIs
Utilizing HTML5 APIsUtilizing HTML5 APIs
Utilizing HTML5 APIsIdo Green
 
Flash Professional CC: The Future of Animation
 Flash Professional CC: The Future of Animation Flash Professional CC: The Future of Animation
Flash Professional CC: The Future of AnimationFITC
 
Modern Web Applications Utilizing HTML5 APIs
Modern Web Applications Utilizing HTML5 APIsModern Web Applications Utilizing HTML5 APIs
Modern Web Applications Utilizing HTML5 APIsIdo Green
 
Mobile development with Flutter
Mobile development with FlutterMobile development with Flutter
Mobile development with FlutterAwok
 

Was ist angesagt? (20)

Flutter festival - building ui's with flutter
Flutter festival - building ui's with flutterFlutter festival - building ui's with flutter
Flutter festival - building ui's with flutter
 
Build web applications using google flutter
Build web applications using google flutterBuild web applications using google flutter
Build web applications using google flutter
 
Google I/O 2016 Key notes
Google I/O 2016 Key notesGoogle I/O 2016 Key notes
Google I/O 2016 Key notes
 
Google IO 2015
Google IO 2015Google IO 2015
Google IO 2015
 
Build beautiful native apps in record time with flutter
Build beautiful native apps in record time with flutterBuild beautiful native apps in record time with flutter
Build beautiful native apps in record time with flutter
 
Flutter beyond hello world GCDC Egypt Devfest 2019
Flutter beyond hello world GCDC Egypt  Devfest 2019Flutter beyond hello world GCDC Egypt  Devfest 2019
Flutter beyond hello world GCDC Egypt Devfest 2019
 
Flutter for web
Flutter for web Flutter for web
Flutter for web
 
Google flutter the easy and practical way
Google flutter the easy and practical wayGoogle flutter the easy and practical way
Google flutter the easy and practical way
 
JavaScript as a First-Class Citizen on iOS 7
JavaScript as a First-Class Citizen on iOS 7JavaScript as a First-Class Citizen on iOS 7
JavaScript as a First-Class Citizen on iOS 7
 
Flutter festival Info session -2022
Flutter festival Info session -2022Flutter festival Info session -2022
Flutter festival Info session -2022
 
Getting started with flutter
Getting started with flutterGetting started with flutter
Getting started with flutter
 
Flutter not yet another mobile cross-platform framework - i ox-kl19
Flutter   not yet another mobile cross-platform framework - i ox-kl19Flutter   not yet another mobile cross-platform framework - i ox-kl19
Flutter not yet another mobile cross-platform framework - i ox-kl19
 
Flutter Tutorial For Beginners | Edureka
Flutter Tutorial For Beginners | EdurekaFlutter Tutorial For Beginners | Edureka
Flutter Tutorial For Beginners | Edureka
 
Congrats web developer, you are also a mobile developer!
Congrats web developer, you are also a mobile developer!Congrats web developer, you are also a mobile developer!
Congrats web developer, you are also a mobile developer!
 
[Alexandria Devfest] the magic of flutter
[Alexandria Devfest] the magic of flutter[Alexandria Devfest] the magic of flutter
[Alexandria Devfest] the magic of flutter
 
Silverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression BlendSilverlight 2 with Visual Studio 2008 and Expression Blend
Silverlight 2 with Visual Studio 2008 and Expression Blend
 
Utilizing HTML5 APIs
Utilizing HTML5 APIsUtilizing HTML5 APIs
Utilizing HTML5 APIs
 
Flash Professional CC: The Future of Animation
 Flash Professional CC: The Future of Animation Flash Professional CC: The Future of Animation
Flash Professional CC: The Future of Animation
 
Modern Web Applications Utilizing HTML5 APIs
Modern Web Applications Utilizing HTML5 APIsModern Web Applications Utilizing HTML5 APIs
Modern Web Applications Utilizing HTML5 APIs
 
Mobile development with Flutter
Mobile development with FlutterMobile development with Flutter
Mobile development with Flutter
 

Andere mochten auch

CRaSH @ JUGSummerCamp 2012 - Quickie
CRaSH @ JUGSummerCamp 2012 - QuickieCRaSH @ JUGSummerCamp 2012 - Quickie
CRaSH @ JUGSummerCamp 2012 - QuickieeXo Platform
 
Hands on iOS developments with Jenkins
Hands on iOS developments with JenkinsHands on iOS developments with Jenkins
Hands on iOS developments with JenkinseXo Platform
 
CRaSH the shell for the Java Virtual Machine
CRaSH the shell for the Java Virtual MachineCRaSH the shell for the Java Virtual Machine
CRaSH the shell for the Java Virtual MachineeXo Platform
 
eXo Platform 4.4 Released: Work Better with More Context!
eXo Platform 4.4 Released: Work Better with More Context!eXo Platform 4.4 Released: Work Better with More Context!
eXo Platform 4.4 Released: Work Better with More Context!eXo Platform
 
When Collaboration Drives Your Digital Transformation
When Collaboration Drives Your Digital TransformationWhen Collaboration Drives Your Digital Transformation
When Collaboration Drives Your Digital TransformationeXo Platform
 
Create docker image with bluemix dev ops
Create docker image with bluemix dev opsCreate docker image with bluemix dev ops
Create docker image with bluemix dev opsJoseph Chang
 
Modèles Business Open Source - Success story eXo
Modèles Business Open Source - Success story eXoModèles Business Open Source - Success story eXo
Modèles Business Open Source - Success story eXoeXo Platform
 

Andere mochten auch (8)

CRaSH @ JUGSummerCamp 2012 - Quickie
CRaSH @ JUGSummerCamp 2012 - QuickieCRaSH @ JUGSummerCamp 2012 - Quickie
CRaSH @ JUGSummerCamp 2012 - Quickie
 
Hands on iOS developments with Jenkins
Hands on iOS developments with JenkinsHands on iOS developments with Jenkins
Hands on iOS developments with Jenkins
 
CRaSH the shell for the Java Virtual Machine
CRaSH the shell for the Java Virtual MachineCRaSH the shell for the Java Virtual Machine
CRaSH the shell for the Java Virtual Machine
 
eXo Platform 4.4 Released: Work Better with More Context!
eXo Platform 4.4 Released: Work Better with More Context!eXo Platform 4.4 Released: Work Better with More Context!
eXo Platform 4.4 Released: Work Better with More Context!
 
When Collaboration Drives Your Digital Transformation
When Collaboration Drives Your Digital TransformationWhen Collaboration Drives Your Digital Transformation
When Collaboration Drives Your Digital Transformation
 
Create docker image with bluemix dev ops
Create docker image with bluemix dev opsCreate docker image with bluemix dev ops
Create docker image with bluemix dev ops
 
Docker
DockerDocker
Docker
 
Modèles Business Open Source - Success story eXo
Modèles Business Open Source - Success story eXoModèles Business Open Source - Success story eXo
Modèles Business Open Source - Success story eXo
 

Ähnlich wie eXoer on the grill: eXo Add-ons factory using Docker and Codenvy

Improve your Java Environment with Docker
Improve your Java Environment with DockerImprove your Java Environment with Docker
Improve your Java Environment with DockerHanoiJUG
 
Odo improving the developer experience on OpenShift - hack &amp; sangria
Odo   improving the developer experience on OpenShift - hack &amp; sangriaOdo   improving the developer experience on OpenShift - hack &amp; sangria
Odo improving the developer experience on OpenShift - hack &amp; sangriaJorge Morales
 
[Webinar] Automating Developer Workspace Construction for the Nuxeo Platform ...
[Webinar] Automating Developer Workspace Construction for the Nuxeo Platform ...[Webinar] Automating Developer Workspace Construction for the Nuxeo Platform ...
[Webinar] Automating Developer Workspace Construction for the Nuxeo Platform ...Nuxeo
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Microsoft
 
DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and YouBalaBit
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Ambassador Labs
 
DevNet Associate : Python introduction
DevNet Associate : Python introductionDevNet Associate : Python introduction
DevNet Associate : Python introductionJoel W. King
 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with DockerPatrick Mizer
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyAjeet Singh Raina
 
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Ajeet Singh Raina
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...Ambassador Labs
 
20170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 201720170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 2017Takayoshi Tanaka
 
Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDr Ganesh Iyer
 
Docker All The Things - ASP.NET 4.x and Windows Server Containers
Docker All The Things - ASP.NET 4.x and Windows Server ContainersDocker All The Things - ASP.NET 4.x and Windows Server Containers
Docker All The Things - ASP.NET 4.x and Windows Server ContainersAnthony Chu
 
Deliver Python Apps with Docker
Deliver Python Apps with DockerDeliver Python Apps with Docker
Deliver Python Apps with DockerAnton Egorov
 
Dockerize it all
Dockerize it allDockerize it all
Dockerize it allPuneet Behl
 

Ähnlich wie eXoer on the grill: eXo Add-ons factory using Docker and Codenvy (20)

Improve your Java Environment with Docker
Improve your Java Environment with DockerImprove your Java Environment with Docker
Improve your Java Environment with Docker
 
Odo improving the developer experience on OpenShift - hack &amp; sangria
Odo   improving the developer experience on OpenShift - hack &amp; sangriaOdo   improving the developer experience on OpenShift - hack &amp; sangria
Odo improving the developer experience on OpenShift - hack &amp; sangria
 
[Webinar] Automating Developer Workspace Construction for the Nuxeo Platform ...
[Webinar] Automating Developer Workspace Construction for the Nuxeo Platform ...[Webinar] Automating Developer Workspace Construction for the Nuxeo Platform ...
[Webinar] Automating Developer Workspace Construction for the Nuxeo Platform ...
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
 
DevAssistant, Docker and You
DevAssistant, Docker and YouDevAssistant, Docker and You
DevAssistant, Docker and You
 
Demystifying Docker101
Demystifying Docker101Demystifying Docker101
Demystifying Docker101
 
Demystifying Docker
Demystifying DockerDemystifying Docker
Demystifying Docker
 
Run automated tests in Docker
Run automated tests in DockerRun automated tests in Docker
Run automated tests in Docker
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
 
DevNet Associate : Python introduction
DevNet Associate : Python introductionDevNet Associate : Python introduction
DevNet Associate : Python introduction
 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
 
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
 
Docker for dev
Docker for devDocker for dev
Docker for dev
 
20170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 201720170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 2017
 
Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containers
 
Docker All The Things - ASP.NET 4.x and Windows Server Containers
Docker All The Things - ASP.NET 4.x and Windows Server ContainersDocker All The Things - ASP.NET 4.x and Windows Server Containers
Docker All The Things - ASP.NET 4.x and Windows Server Containers
 
Deliver Python Apps with Docker
Deliver Python Apps with DockerDeliver Python Apps with Docker
Deliver Python Apps with Docker
 
Dockerize it all
Dockerize it allDockerize it all
Dockerize it all
 

Mehr von eXo Platform

Workshop blockchain au service de l engagement - 20-3-2019
Workshop blockchain au service de l engagement - 20-3-2019Workshop blockchain au service de l engagement - 20-3-2019
Workshop blockchain au service de l engagement - 20-3-2019eXo Platform
 
Digitalisation RH –Avec ou sans les DRH
Digitalisation RH –Avec ou sans les DRHDigitalisation RH –Avec ou sans les DRH
Digitalisation RH –Avec ou sans les DRHeXo Platform
 
De l'Intranet institutionnel à la Digital Workplace : la démarche du groupe d...
De l'Intranet institutionnel à la Digital Workplace : la démarche du groupe d...De l'Intranet institutionnel à la Digital Workplace : la démarche du groupe d...
De l'Intranet institutionnel à la Digital Workplace : la démarche du groupe d...eXo Platform
 
L’Intranet, socle de l’entreprise digitale !
L’Intranet, socle de l’entreprise digitale !L’Intranet, socle de l’entreprise digitale !
L’Intranet, socle de l’entreprise digitale !eXo Platform
 
Un hub collaboratif unique et intégré : les pour et les contre
Un hub collaboratif unique et intégré : les pour et les contreUn hub collaboratif unique et intégré : les pour et les contre
Un hub collaboratif unique et intégré : les pour et les contreeXo Platform
 
Intranet Project: Roll-out Strategy & Pain Points to consider
Intranet Project: Roll-out Strategy & Pain Points to considerIntranet Project: Roll-out Strategy & Pain Points to consider
Intranet Project: Roll-out Strategy & Pain Points to considereXo Platform
 
How we migrate 350+ Maven CI jobs to Pipeline as Code with Jenkins 2 and Docker
How we migrate 350+ Maven CI jobs to Pipeline as Code with Jenkins 2 and DockerHow we migrate 350+ Maven CI jobs to Pipeline as Code with Jenkins 2 and Docker
How we migrate 350+ Maven CI jobs to Pipeline as Code with Jenkins 2 and DockereXo Platform
 
Peut-on décider un changement de culture d'entreprise?
Peut-on décider un changement de culture d'entreprise? Peut-on décider un changement de culture d'entreprise?
Peut-on décider un changement de culture d'entreprise? eXo Platform
 
Conférence sur la Digital Workplace au Salon Intranet & Collaboratif
Conférence sur la Digital Workplace au Salon Intranet & CollaboratifConférence sur la Digital Workplace au Salon Intranet & Collaboratif
Conférence sur la Digital Workplace au Salon Intranet & CollaboratifeXo Platform
 
eXo Platform - Votre plateforme de travail collaboratif
eXo Platform - Votre plateforme de travail collaboratifeXo Platform - Votre plateforme de travail collaboratif
eXo Platform - Votre plateforme de travail collaboratifeXo Platform
 
Solutions to your employee disengagement
Solutions to your employee disengagementSolutions to your employee disengagement
Solutions to your employee disengagementeXo Platform
 
Performance testing and_reporting_with_j_meter by Le Van Nghi
Performance testing and_reporting_with_j_meter by  Le Van NghiPerformance testing and_reporting_with_j_meter by  Le Van Nghi
Performance testing and_reporting_with_j_meter by Le Van NghieXo Platform
 

Mehr von eXo Platform (12)

Workshop blockchain au service de l engagement - 20-3-2019
Workshop blockchain au service de l engagement - 20-3-2019Workshop blockchain au service de l engagement - 20-3-2019
Workshop blockchain au service de l engagement - 20-3-2019
 
Digitalisation RH –Avec ou sans les DRH
Digitalisation RH –Avec ou sans les DRHDigitalisation RH –Avec ou sans les DRH
Digitalisation RH –Avec ou sans les DRH
 
De l'Intranet institutionnel à la Digital Workplace : la démarche du groupe d...
De l'Intranet institutionnel à la Digital Workplace : la démarche du groupe d...De l'Intranet institutionnel à la Digital Workplace : la démarche du groupe d...
De l'Intranet institutionnel à la Digital Workplace : la démarche du groupe d...
 
L’Intranet, socle de l’entreprise digitale !
L’Intranet, socle de l’entreprise digitale !L’Intranet, socle de l’entreprise digitale !
L’Intranet, socle de l’entreprise digitale !
 
Un hub collaboratif unique et intégré : les pour et les contre
Un hub collaboratif unique et intégré : les pour et les contreUn hub collaboratif unique et intégré : les pour et les contre
Un hub collaboratif unique et intégré : les pour et les contre
 
Intranet Project: Roll-out Strategy & Pain Points to consider
Intranet Project: Roll-out Strategy & Pain Points to considerIntranet Project: Roll-out Strategy & Pain Points to consider
Intranet Project: Roll-out Strategy & Pain Points to consider
 
How we migrate 350+ Maven CI jobs to Pipeline as Code with Jenkins 2 and Docker
How we migrate 350+ Maven CI jobs to Pipeline as Code with Jenkins 2 and DockerHow we migrate 350+ Maven CI jobs to Pipeline as Code with Jenkins 2 and Docker
How we migrate 350+ Maven CI jobs to Pipeline as Code with Jenkins 2 and Docker
 
Peut-on décider un changement de culture d'entreprise?
Peut-on décider un changement de culture d'entreprise? Peut-on décider un changement de culture d'entreprise?
Peut-on décider un changement de culture d'entreprise?
 
Conférence sur la Digital Workplace au Salon Intranet & Collaboratif
Conférence sur la Digital Workplace au Salon Intranet & CollaboratifConférence sur la Digital Workplace au Salon Intranet & Collaboratif
Conférence sur la Digital Workplace au Salon Intranet & Collaboratif
 
eXo Platform - Votre plateforme de travail collaboratif
eXo Platform - Votre plateforme de travail collaboratifeXo Platform - Votre plateforme de travail collaboratif
eXo Platform - Votre plateforme de travail collaboratif
 
Solutions to your employee disengagement
Solutions to your employee disengagementSolutions to your employee disengagement
Solutions to your employee disengagement
 
Performance testing and_reporting_with_j_meter by Le Van Nghi
Performance testing and_reporting_with_j_meter by  Le Van NghiPerformance testing and_reporting_with_j_meter by  Le Van Nghi
Performance testing and_reporting_with_j_meter by Le Van Nghi
 

Kürzlich hochgeladen

Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 

Kürzlich hochgeladen (20)

Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 

eXoer on the grill: eXo Add-ons factory using Docker and Codenvy

  • 1. Presentation of the Codenvy/Docker to create eXo Add-on factories
  • 2. Copyright 2015 eXo Platform A presentation by CWI/PRD Team
  • 3. ● Environment setup to develop eXo extensions is time consuming and resource intensive. ● Setup third party Maven repository ● Setup a complete eXo Platform Runtime to Deploy & Test the extension ● Powerful computer to run eXo Platform Building eXo Add-on with Current Process Copyright 2015 eXo Platform ManualSteps
  • 4. Agenda Copyright 2015 eXo Platform Enjoy... 1. eXo’s Goal - Encourage eXo Addon development 2. Docker Introduction 3. Codenvy/Factory Introduction 4. Building eXo Add-on Factory thanks to Codenvy/Docker 5. Live Demo
  • 5. A developer can view the code and then modify it, build it, test it, debug it and run it without installing anything eXo’s Goal - Encourage eXo Add-on Development Copyright 2015 eXo Platform
  • 6. ● Deliver a ready-to-use IDE for fast on boarding. ● Available through a simple URL ● On eXo Add-ons Catalog: “Code & Run” button to launches factory eXo’s Goal - Encourage eXo Add-on development Copyright 2015 eXo Platform Use of Codenvy Factories allows a “One Click Code & Run”
  • 7. The introduction of in brief Copyright 2015 eXo Platform
  • 8. Copyright 2015 eXo Platform “An open source project to pack, ship and run any application as a lightweight container.”
  • 10. ● For years, setup/installation/configuration packages/software have been complex activities: ○ dependencies: Tomcat needs JVM ○ versions management: Tomcat 7 needs JVM 7, host server can have v6, v7, v8, how assure ? ○ configuration: Tomcat ports, security ○ update services, startup Become more important in dev/pre-prod/prod Reasons to use Docker ? Copyright 2015 eXo Platform
  • 11. Reasons to use Docker ? Copyright 2015 eXo Platform Hope I don’t forget any child, I haz 7 ducks -- Tomcat Mother Duck -- In prod, I haz 3 ducks more, which one is first ? -- Tomcat Mother Duck -- DEVELOPMENT PRODUCTION
  • 12. Reasons to use Docker ? Copyright 2015 eXo Platform With I embark them all, no need to remember :) -- Tomcat Mother Duck --
  • 13. ● Docker is a new way of virtualizing, aiming to “build, ship, and run any app, anywhere” Main Benefits: COST EFFECTIVE VMs: - Each VM is 10Gb size 10 VMs =10x10= 100Gb resources. Docker (Linux Containers): << 100Gb resources. Docker in few words Copyright 2015 eXo Platform
  • 14. ● Java is the code, docker is the config (Dockerfile) sample: Copyright 2015 eXo Platform Like Java
  • 15. ● Git semantics: commit, push, pull ● docker pull exoplatform/exo-maven ● docker commit ● docker push Copyright 2015 eXo Platform Like Git
  • 16. ● Control versioning like Git (pull, commit, push, diff ...) ● Write once, run everywhere like Java (build, start, run, save ...) ○ Run configs on your local as real as on server ● Can be integrated easily into various infrastructures: cloud, CI server (Codenvy, jenkins…) Copyright 2015 eXo Platform Working with Docker
  • 17. eXo has a list of pre-built images ● docker pull exoplatform/ubuntu-jdk7-exo ● docker run -p 8080:8080 exoplatform/ubuntu-jdk7-exo eXo Docker Images Copyright 2015 eXo Platform
  • 18. Some cases to use Docker in real world Copyright 2015 eXo Platform ADMIN PLF image pre-configured Cloud Dev Acceptance Local dev Support QA campaigns Quick fixes consistency on 1 package
  • 19. The introduction of Copyright 2015 eXo Platform
  • 20. ● It started out as an additional feature to the eXo Platform in early 2009. ● Codenvy is a cloud environment for coding, building, debugging and running apps (IDE in the cloud) ● Codenvy allows any developer to run application in Docker, all from the browser without downloading anything on the desktop. What is Codenvy? Copyright 2015 eXo Platform
  • 21. What is Codenvy? Copyright 2015 eXo Platform
  • 22. Impact in the software industry and the way we work ● The way software vendors promote APIs and SDKs. ● Developers collaborate while building apps. ● Developers exchange with QA teams. ● Cloud development environments are managed by DevOps.... Codenvy Copyright 2015 eXo Platform
  • 23. ● Creating a pre-configured environment for speeding development of new applications, add-ons, APIs or any other software ● Providing a development environment for modifying existing software and testing it out of the box ● Simplifying project collaboration for Development teams... Codenvy Factory Copyright 2015 eXo Platform
  • 24. ● There are three types of Codenvy Factories: ● Hack Factories ● Tracked Factories (require a special account) ● Branded Factories (require a special account) Tracked and Branded Factories allow advanced customisations (ex: Welcome screens, branding, etc…) and provide powerful analytics features. Tutorial: Building a Contribution Factory From Scratch Codenvy Factory (cont.) Copyright 2015 eXo Platform
  • 26. ● In Codenvy a “runner” is the term to describe an execution runtime ● In order to deploy custom runners, Codenvy uses Docker recipes Codenvy Factory (cont.) Copyright 2015 eXo Platform Codenvy custom Runner Docker File exoplatform/ubuntu-jdk- exo exoplatform/exo- presetup-account exoplatform/exo-maven Inheritanceimage
  • 27. ● Check out source code from the official eXo Github ● Customize Maven config for Codenvy ● Provide a Docker based runtime to Build, Deploy and Test the code Complete Maven based eXo build environment eXo Platform 4.1 runtime completely setup and ready to try Add-on (with 4GB RAM) Codenvy Factory Copyright 2015 eXo Platform
  • 28. Copyright 2015 eXo Platform Codenvy Factory
  • 29. LIVE DEMO CREATE YOUR FIRST FACTORY IN SOME STEPS
  • 30. Requirements: ● A Codenvy account ● Codenvy CLI installed on your local machine ● Github account and DockerHub account linked to your Github account. ● Host the static resources (html...) Getting started to build new factory Copyright 2015 eXo Platform
  • 31. Create new Codenvy Factory for eXo Marketplace Addon ● Codenvy Factory.json source ● Dockerfile ● Welcome HTML file ● Docker files repo & eXo Dockerhub DEMO Copyright 2015 eXo Platform
  • 32. DEMO Copyright 2015 eXo Platform ● Create factory ➔ codenvy> create-factory /Users/namph/java/eXoProjects/exo- docker/exo-addons/marketplace-extension/factory-markterplace.json ➔ Factory URL: https://codenvy.com/f?id=3q8lxmzs4clmcdg8
  • 33. ● Visit eXo Add-ons Catalog ● Click on “Code new Add-on” ( ) button ● Implement your Add-on with template ● Click on “Run” ( ) button to build, deploy and start Web Server Code new eXo Add-on thanks to Docker/Codenvy Copyright 2015 eXo Platform
  • 34. ● Codenvy’s blog post: Create an new eXo Factory Using Codenvy and Docker ● Webinar: Codenvy Contribution Factory with eXo Chat ● eXo’s blog post: The new codenvy is a game changer and everybody benefits ● Tutorial: Codenvy Contribution Factory with eXo Chat Find more resources Copyright 2015 eXo Platform
  • 35. ● We can do even better with the new version Codenvy 2.1 to make the factory cleaner, easier to maintain and maybe faster ● Improvement for eXo Factories by using “Try Now" and "Code Now" buttons instead of the current "Code & Run" Go further Copyright 2015 eXo Platform