+ All Categories
Home > Software > Code in the cloud with eclipse che and docker / snowcamp.io 2017

Code in the cloud with eclipse che and docker / snowcamp.io 2017

Date post: 13-Apr-2017
Category:
Upload: florent-benoit
View: 80 times
Download: 0 times
Share this document with a friend
48
SnowCamp.io 2017 - 9th February #eclipseche Code in the cloud with Eclipse Che and Docker Florent Benoit (@florentbenoit) - Codenvy
Transcript
Page 1: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

SnowCamp.io 2017 - 9th February

#eclipseche

Code in the cloud with Eclipse Che and Docker

Florent Benoit (@florentbenoit) - Codenvy

Page 2: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Agenda

Introduction to Eclipse Che

Live Demo

Workspace Portability

A Workspace when you Need It!

Page 3: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

The Developer Environment Configuration Problem

Page 4: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Working on multiple projects, technologies

Page 5: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Working in teams with style...

All differents - but all goods

Page 6: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Documentation, Scripts ?

READ THE SOURCE LUKE !!

Page 7: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Manual, Error Prone and - in hours, days, weeks?

Page 8: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Why can’t we have anyone, at anytime be able to contribute to a project without installing software?

Page 9: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Open source <> community

Page 10: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Agile development feels more natural

Page 11: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Iterate in-the-moment with users

Page 12: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

What is needed to make a contribution?

IDE Project Files Runtimes

Page 13: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Configuration

Workspaces include projects and config

IDE RuntimesProject Files

WorkspaceToday

Page 14: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Redefine the workspace

IDE RuntimesProject Files

Page 15: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

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

Page 16: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Runtimes InsideCollaborativeProgrammableVersionableExtensible

Universal workspace

Page 17: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Workspaces bring their own runtimes

Machine runtime defined by Dockerfileor Composefile

Page 18: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Projects are mounted into the runtimes

Projects rely on workspace runtimes

Page 19: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Workspaces define commands

mvn clean install

start mysql

deploy project

Commands are executed as processes in workspace runtimes

Page 20: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Workspaces provide their own browser IDE

Page 21: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Desktop IDEs can connect over SSH

Page 22: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Workspaces are hosted in Che’s server

Page 23: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Eclipse Che bring its own browser IDEto provide new developer experience

Page 24: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Runtime InsideCollaborativeProgrammableVersionableExtensible

Universal workspace

Page 25: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Workspaces are shareable

Page 26: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Workspaces are portable

Page 27: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Live Demo: Introduction to Eclipse Che

1. Terminal2. Editor3. Java intellisense4. Commands5. Debug

Page 28: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Runtime InsideCollaborativeProgrammableVersionableExtensible

Universal workspace

Page 29: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Swagger!

Page 30: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Runtime InsideCollaborativeProgrammableVersionableExtensible

Universal workspace

Page 31: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

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

Development

Production

Page 32: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Runtime InsideCollaborativeProgrammableVersionableExtensible

Universal workspace

Page 33: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Growing the base of plug-ins...

Page 34: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Language Server Protocol (LSP)

PHPC#C++

PowerShellR

XText

Interface to connect language analysis into any development tool

Page 35: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Runtimes InsideCollaborativeProgrammableVersionableExtensible

Universal workspace

Page 36: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Reproducible and portable developer workspaces

Page 37: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Che dir: reproducible and portable developer workspaces

SETUP- Docker- Eclipse Che CLI

CLONE

WORK

$ git clone https://github.com/che-samples/web-java-spring-petclinic

$ docker run eclipse/che dir up

Page 38: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Live Demo: Che dir

Page 39: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Che dir: reproducible and portable developer workspaces

# Defines name of the workspace

workspace.name = “happy”

# Define the Docker image to use to power the workspace's runtime

# This must conform to a Che recipe type:

workspace.runtime.image.location="codenvy/alpine_jdk8"

# Defines memory allocated to the workspace's runtime

workspace.ram = 2048

# Commands are processes that users execute in the IDE.

# Commands will appear in the drop down on the tool bar.

workspace.commands[0].name = "my-first-command"

workspace.commands[0].type = "mvn"

workspace.commands[0].commandLine = "mvn clean install -f ${current.project.path}"

workspace.commands[0].attributes.previewUrl = "http://${server.port.8080}/${current.project.relpath}"

# A command that will be executed after the workspace is loaded.

# Reference the name of a command defined above.

workspace.postload.actions[0].name="my-second-command"

Page 40: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Load or create new workspace

Securely onboard developer

http://url/factory?repo=a_project

Page 41: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

The dream realized

Developer Workspace

Page 42: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Open source project Badging

Developer Workspace

https://codenvy.io/f?name=my-petclinic&user=fbenoitcodenvycom

Page 43: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

JIRA integration

Page 44: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Jenkins integration

Page 45: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Get started with Eclipse Che

Sources github.com/eclipse/che

Dev List [email protected]

IRC #eclipseche

Gittergitter.im/eclipse/che

Page 46: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

And of course...

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

Page 47: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Questions ?

Page 48: Code in the cloud with eclipse che and docker /  snowcamp.io 2017

Thank you


Recommended