nantes jug 2016 eclipse che: the next-gen eclipse ide
TRANSCRIPT
Nantes JUG 2016 - April 12
Stevan Le Meur (@stevanLM) - CodenvyFlorent Benoit (@florentbenoit) - CodenvyJeff Maury (@jeffmaury) - RedHat
#eclipseche
Eclipse Che: The Next-Gen Eclipse IDE
Agenda
Introduction to Eclipse Che
Live Demo
Workspace Portability - A Workspace when you Need It!
Extending Eclipse Che - OpenShift Plug-In
The Developer Environment Configuration Problem
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?
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
Embarrassed.Ashamed.Defeated.
Why can’t it just &%$@# work??
Anyone, anytime can contribute to a project without installing software.
Open source <> community
Agile development feels more natural
Iterate in-the-moment with users
What is needed to make a contribution?
IDE Project Files Runtime
Configuration
Workspaces include projects and config
IDE RuntimeProject Files
Workspace
config server
JetBrains Oomph
config + install peer-2-peer
Flux
How to share your workspace...
IDE IDE + Projects Projects
How do you sync the runtime?
RuntimeRuntime
sharing controlling scaling
Localhost runtime has constraints
Redefine the workspace
IDE RuntimeProject Files
A universal workspace leads to universal contributions.
No credit card is more acceptedWorkspace
Eclipse Che is an open source project to make workspaces universal.
Runtime InsideCollaborativeProgrammableVersionableExtensible
Universal workspace
Workspaces bring their own runtimes
Machine runtime defined by Dockerfile
Projects are mounted into the runtime
Projects rely on workspace runtime
Workspaces define commands
mvn clean install
start mysql
deploy project
Commands are executed as processes in workspace runtime
Workspaces serve their own browser IDE
Desktop IDEs can connect over SSH
Workspaces are hosted in Che’s server
Eclipse Che bring its own browser IDEto provide new developer experience
Runtime InsideCollaborativeProgrammableVersionableExtensible
Universal workspace
Workspaces are shareable
Workspaces are portable
Live Demo: Introduction to Eclipse Che
1. Terminal2. Editor3. Java intellisense4. Commands5. Debug6. Save to the cloud
Demo recap
Creation of a workspace and project
Editor Overview
Interacting with Stacks - Commands
Debugger
Runtime InsideCollaborativeProgrammableVersionableExtensible
Universal workspace
Swagger!
Runtime InsideCollaborativeProgrammableVersionableExtensible
Universal workspace
What happens if your workspace contains runtimes identical to those in production?
Development
Production
Runtime InsideCollaborativeProgrammableVersionableExtensible
Universal workspace
Growing the base of plug-ins...
Runtime InsideCollaborativeProgrammableVersionableExtensible
Universal workspace
Load or create new workspace
Securely onboard developer
http://someurl/factory?id=a_project
Open source project Badging
Developer Workspace
Codenvy open source
4 GB Workspaces
Visual Studio Team Services
Visual Studio Team Services + Codenvy
Live Demo
1. Manage your tasks on Visual Studio Team Services2. Developer & Pull request flow3. Reviewer workspace
JIRA integration
Jenkins integration
Extending Eclipse Che
The browser IDE
The dashboard
Red Hat:Jeff Maury
Opensource PAAS for developers and devops.● Docker● Kubernetes● Build/packaging tools
OpenShift and Che provide on-demand production replicas for developers.
● Instant deployment in production● CD after marketing request● Scalability● Integration testing (Arquillian)
Demo
Get started with Eclipse Che
Sources github.com/eclipse/che
Dev List [email protected]
IRC #eclipseche
Gittergitter.im/eclipse/che
And of course...BETA
eclipse.org/che Getting started guides Downloads Documentations Contribution guide
Questions ?
Thank you