70
Paris JUG 2016 - March 22 Stevan Le Meur (@stevanLM) - Codenvy Florent Benoit (@florentbenoit) - Codenvy Stéphane Tournié (@stournie) - Serli Sun Tan (@sunsengdavidtan) - Serli Jeff Maury (@jeffmaury) - RedHat #eclipseche Eclipse Che: The Next-Gen Eclipse IDE

Eclipse Che : ParisJUG

Embed Size (px)

Citation preview

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

Agenda - 1

Introduction to Eclipse Che

Live Demo

Workspace Portability

A Workspace when you Need It!

Agenda - 2

Extending Eclipse Che

Live Demo

Openshift Plug-In

Live Pair Programming

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

Red Hat:Jeff Maury

In the next session

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

The dream realized

Developer Workspace

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

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

Extending Eclipse Che

Agenda - 2

Extending Eclipse Che

Live Demo

Openshift Plug-In

Live Pair Programming

The browser IDE

The dashboard

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

Growing the base of plug-ins...

Live Demo

Hello world Plug-In

Custom stack + project template

Custom assembly

Demo recap

Extensibility: Customize without creating plug-ins

Extensibility: Develop plug-ins

Creating new assemblies

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