Page 1
Paris JUG 2016 - March 22
Stevan Le Meur (@stevanLM) - CodenvyFlorent Benoit (@florentbenoit) - CodenvyStéphane Tournié (@stournie) - Serli Sun Tan (@sunsengdavidtan) - SerliJeff Maury (@jeffmaury) - RedHat
#eclipseche
Eclipse Che: The Next-Gen Eclipse IDE
Page 2
Agenda - 1
Introduction to Eclipse Che
Live Demo
Workspace Portability
A Workspace when you Need It!
Page 3
Agenda - 2
Extending Eclipse Che
Live Demo
Openshift Plug-In
Live Pair Programming
Page 4
The Developer Environment Configuration Problem
Page 5
Setting Up Development Environments
TeamsNewcomers Various skillsHeterogeneous tastesPermissions on machine
Large numberDifferent technologiesAbility to quickly switch
Projects DocumentationManual installationPlay with configuration filesScripts to boot
Manual, Error Prone and - in hours, days, weeks?
Page 6
Different EnvironmentsDeveloper - … … - Production
http
App Server
developer
DB
3-parts
FS ...
OS Versions Conf
https
App Server
Service 1
3-parts
Tool 1
OS Versions Conf
haproxy
prod instances
Service 2 Tool 2
DB FS
...Production complexity hard to reproduce for developers
Page 7
Embarrassed.Ashamed.Defeated.
Page 8
Why can’t it just &%$@# work??
Page 9
Anyone, anytime can contribute to a project without installing software.
Page 10
Open source <> community
Page 11
Agile development feels more natural
Page 12
Iterate in-the-moment with users
Page 13
What is needed to make a contribution?
IDE Project Files Runtime
Page 14
Configuration
Workspaces include projects and config
IDE RuntimeProject Files
Workspace
Page 15
config server
JetBrains Oomph
config + install peer-2-peer
Flux
How to share your workspace...
IDE IDE + Projects Projects
Page 16
How do you sync the runtime?
RuntimeRuntime
Page 17
sharing controlling scaling
Localhost runtime has constraints
Page 18
Redefine the workspace
IDE RuntimeProject Files
Page 19
A universal workspace leads to universal contributions.
No credit card is more acceptedWorkspace
Page 20
Eclipse Che is an open source project to make workspaces universal.
Page 21
Runtime InsideCollaborativeProgrammableVersionableExtensible
Universal workspace
Page 22
Workspaces bring their own runtimes
Machine runtime defined by Dockerfile
Page 23
Projects are mounted into the runtime
Projects rely on workspace runtime
Page 24
Workspaces define commands
mvn clean install
start mysql
deploy project
Commands are executed as processes in workspace runtime
Page 25
Workspaces serve their own browser IDE
Page 26
Desktop IDEs can connect over SSH
Page 27
Workspaces are hosted in Che’s server
Page 28
Eclipse Che bring its own browser IDEto provide new developer experience
Page 29
Runtime InsideCollaborativeProgrammableVersionableExtensible
Universal workspace
Page 30
Workspaces are shareable
Page 31
Workspaces are portable
Page 32
Live Demo: Introduction to Eclipse Che
1. Terminal2. Editor3. Java intellisense4. Commands5. Debug6. Save to the cloud
Page 33
Demo recap
Creation of a workspace and project
Editor Overview
Interacting with Stacks - Commands
Debugger
Page 34
Runtime InsideCollaborativeProgrammableVersionableExtensible
Universal workspace
Page 36
Runtime InsideCollaborativeProgrammableVersionableExtensible
Universal workspace
Page 37
What happens if your workspace contains runtimes identical to those in production?
Development
Production
Page 38
Red Hat:Jeff Maury
In the next session
Page 39
Runtime InsideCollaborativeProgrammableVersionableExtensible
Universal workspace
Page 40
Growing the base of plug-ins...
Page 41
Runtime InsideCollaborativeProgrammableVersionableExtensible
Universal workspace
Page 43
Load or create new workspace
Securely onboard developer
http://someurl/factory?id=a_project
Page 44
The dream realized
Developer Workspace
Page 45
Open source project Badging
Developer Workspace
Page 46
Codenvy open source
4 GB Workspaces
Page 48
Visual Studio Team Services
Page 49
Visual Studio Team Services + Codenvy
Page 50
Live Demo
1. Manage your tasks on Visual Studio Team Services2. Developer & Pull request flow3. Reviewer workspace
Page 52
Jenkins integration
Page 53
Get started with Eclipse Che
Sources github.com/eclipse/che
Dev List [email protected]
IRC #eclipseche
Gittergitter.im/eclipse/che
Page 54
And of course...BETA
eclipse.org/che Getting started guides Downloads Documentations Contribution guide
Page 57
Extending Eclipse Che
Page 58
Agenda - 2
Extending Eclipse Che
Live Demo
Openshift Plug-In
Live Pair Programming
Page 62
Extensions, Plug-Ins and Assemblies
Extension
Che Core Assembly
Plug-InsServer
Desktop App
App Server + Plug-Ins + Installer
Extension
Extension
Java + Javascript + CSS
Java + Javascript + CSS
Java + Javascript + CSS
Page 63
Growing the base of plug-ins...
Page 64
Live Demo
Hello world Plug-In
Custom stack + project template
Custom assembly
Page 65
Demo recap
Extensibility: Customize without creating plug-ins
Extensibility: Develop plug-ins
Creating new assemblies
Page 66
Red Hat:Jeff Maury
Page 67
Opensource PAAS for developers and devops.● Docker● Kubernetes● Build/packaging tools
Page 68
OpenShift and Che provide on-demand production replicas for developers.
Page 69
● Instant deployment in production● CD after marketing request● Scalability● Integration testing (Arquillian)