63
Nantes JUG 2016 - April 12 Stevan Le Meur (@stevanLM) - Codenvy Florent Benoit (@florentbenoit) - Codenvy Jeff Maury (@jeffmaury) - RedHat #eclipseche Eclipse Che: The Next-Gen Eclipse IDE

Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Embed Size (px)

Citation preview

Page 1: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Nantes JUG 2016 - April 12

Stevan Le Meur (@stevanLM) - CodenvyFlorent Benoit (@florentbenoit) - CodenvyJeff Maury (@jeffmaury) - RedHat

#eclipseche

Eclipse Che: The Next-Gen Eclipse IDE

Page 2: Nantes Jug 2016 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

Page 3: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

The Developer Environment Configuration Problem

Page 4: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

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 5: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

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 6: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Embarrassed.Ashamed.Defeated.

Page 7: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Why can’t it just &%$@# work??

Page 8: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Anyone, anytime can contribute to a project without installing software.

Page 9: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Open source <> community

Page 10: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Agile development feels more natural

Page 11: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Iterate in-the-moment with users

Page 12: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

What is needed to make a contribution?

IDE Project Files Runtime

Page 13: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Configuration

Workspaces include projects and config

IDE RuntimeProject Files

Workspace

Page 14: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

config server

JetBrains Oomph

config + install peer-2-peer

Flux

How to share your workspace...

IDE IDE + Projects Projects

Page 15: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

How do you sync the runtime?

RuntimeRuntime

Page 16: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

sharing controlling scaling

Localhost runtime has constraints

Page 17: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Redefine the workspace

IDE RuntimeProject Files

Page 18: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

A universal workspace leads to universal contributions.

No credit card is more acceptedWorkspace

Page 19: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Eclipse Che is an open source project to make workspaces universal.

Page 20: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Runtime InsideCollaborativeProgrammableVersionableExtensible

Universal workspace

Page 21: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Workspaces bring their own runtimes

Machine runtime defined by Dockerfile

Page 22: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Projects are mounted into the runtime

Projects rely on workspace runtime

Page 23: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Workspaces define commands

mvn clean install

start mysql

deploy project

Commands are executed as processes in workspace runtime

Page 24: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Workspaces serve their own browser IDE

Page 25: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Desktop IDEs can connect over SSH

Page 26: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Workspaces are hosted in Che’s server

Page 27: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Eclipse Che bring its own browser IDEto provide new developer experience

Page 28: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Runtime InsideCollaborativeProgrammableVersionableExtensible

Universal workspace

Page 29: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Workspaces are shareable

Page 30: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Workspaces are portable

Page 31: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Live Demo: Introduction to Eclipse Che

1. Terminal2. Editor3. Java intellisense4. Commands5. Debug6. Save to the cloud

Page 32: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Demo recap

Creation of a workspace and project

Editor Overview

Interacting with Stacks - Commands

Debugger

Page 33: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Runtime InsideCollaborativeProgrammableVersionableExtensible

Universal workspace

Page 34: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Swagger!

Page 35: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Runtime InsideCollaborativeProgrammableVersionableExtensible

Universal workspace

Page 36: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

What happens if your workspace contains runtimes identical to those in production?

Development

Production

Page 37: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Runtime InsideCollaborativeProgrammableVersionableExtensible

Universal workspace

Page 38: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Growing the base of plug-ins...

Page 39: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Runtime InsideCollaborativeProgrammableVersionableExtensible

Universal workspace

Page 40: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE
Page 41: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Load or create new workspace

Securely onboard developer

http://someurl/factory?id=a_project

Page 42: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

The dream realized

Developer Workspace

Page 43: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Open source project Badging

Developer Workspace

Page 44: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Codenvy open source

4 GB Workspaces

Page 45: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE
Page 46: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Visual Studio Team Services

Page 47: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Visual Studio Team Services + Codenvy

Page 48: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Live Demo

1. Manage your tasks on Visual Studio Team Services2. Developer & Pull request flow3. Reviewer workspace

Page 49: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

JIRA integration

Page 50: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Jenkins integration

Page 51: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Extending Eclipse Che

Page 52: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

The browser IDE

Page 53: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

The dashboard

Page 54: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE
Page 55: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Red Hat:Jeff Maury

Page 56: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Opensource PAAS for developers and devops.● Docker● Kubernetes● Build/packaging tools

Page 57: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

OpenShift and Che provide on-demand production replicas for developers.

Page 58: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

● Instant deployment in production● CD after marketing request● Scalability● Integration testing (Arquillian)

Page 59: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Demo

Page 60: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Get started with Eclipse Che

Sources github.com/eclipse/che

Dev List [email protected]

IRC #eclipseche

Gittergitter.im/eclipse/che

Page 61: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

And of course...BETA

eclipse.org/che Getting started guides Downloads Documentations Contribution guide

Page 62: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Questions ?

Page 63: Nantes Jug 2016 Eclipse Che: The Next-Gen Eclipse IDE

Thank you