Intro to Eclipse Che, by Tyler Jewell

22
An Intro to Eclipse Che March 2015 Tyler Jewell, Eclipse Che Project Lead @TylerJewell

Transcript of Intro to Eclipse Che, by Tyler Jewell

An Intro to Eclipse CheMarch 2015

Tyler Jewell, Eclipse Che Project Lead@TylerJewell

Reality: Wikis For Developer Workspace ConfigDjango and

PHP with Eclipse

Tomcat with IntelliJ

Compile and install

Ruby

Mozilla Webmaker

with Vagrant

Continuous delivery demands repeatability - but developer workspace configuration is individual & complex.

Eclipse Che is a cloud IDE and SDK for creating cloud IDE extensions.

Che ships with 55 extensions for Java, JavaScript, AngularJS, git, and Docker.

Assemble your own Che extensions to create distributed developer services accessible in a browser.

Eclipse Che Codenvy Platform Distribution

Plu

g-In

Plu

g-In

Plu

g-In

Plu

g-In

Plu

g-In

IDE + SDK

Elastic Docker Node Pool

Code

Developer Microservice Plug-Ins

Build Run Source Query

Source

External Integration Plug-Ins

CI PaaS Issue Identity

Languages

Eclipse CheEditors Projects

OperationsHA Tenancy Metering Security

API CLI Browser Mobile

Automation ManagementFactories Contrib Admin Analytics

Eclipse Che & Codenvy IP Relationship

Installation

update.codenvy.comNotices Accounts Binaries Installers

OfferingsSaaS @ On-Prem @ Managed @

codenvy.com Your Datacenter Any Datacenter

1-Node n-Node CentOS 6 CentOS 7

Cloud MarketplacesIBM AWS Google ...

Kernel

java javascript c++

maven gradle 55+

Your Extensions

Che Extensions

project builder

REST APIrunner

auth factory analytics

Codenvy Makes Development Boundless

Machines Your SystemsDevelopers Microservices Nodes

Browser IDE

CLI

Eclipse

IntelliJ

Sublime Text

Emacs

vi

Co

den

vy T

oo

lsY

ou

r T

oo

ls

Developer Workspace Cloud

syntax

refactor

clone

build

package

run

debug

query

merge

compile

Middleware

APIs

Code Repo

Artifact Repo

CI / CD

Issue Mgmt

LDAP

Targets

To

ol C

hain

Databases

PaaS

Workflow

contribute

pull request

corporate

hack

The Che Glossary

The Che Glossary… (2..3)

The Che Glossary (3..3)

Getting Started with Che

Source: github.com/codenvy/sdkgithub.com/codenvy/assembly-che

Developer Mailing List: [email protected] Meetings: wiki.eclipse.org/cheIRC: #eclipseche (routes to slack)

Note: Currently 1000 issues open on Che, hosted at Codenvy’s private Jira. We are working to export into bugzilla.

Che SDK Maven Modules

assembly-platform-api: Local vs. Distributed MocksJava client / DTO / GINServer-side REST API

assembly-sdk: Tomcat bundling of Che

assembly-ide: Main GWT application of the IDE/src/main/resources/com/codenvy/ide/ide.gwt.xml

Che IDE Extension

@Singleton

public class AngularJSProjectType extends ProjectType {

public AngularJSProjectType() {

super("AngularJS", "AngularJS Project", true, false);

setDefaultRunner("system:/javascript/webapp/grunt");

addRunnerCategories(Arrays.asList(RunnerCategory.JAVASCRIPT.toString()));

}

}

@Singleton

@Extension(title = "AngularJS")

public class AngularJsExtension extends JsExtension {

@Inject

public AngularJsExtension(IconRegistry iconRegistry, AngularJSResources resources) {

super(Const.ANGULAR_JS_ID, iconRegistry, resources);

}

}

plugin-angularjs/core/client/src/main/java/com/codenvy/plugin/angularjs/core/client/

plugin-angularjs/core/server/src/main/java/com/codenvy/plugin/angularjs/core/server/project/type

Roadmap

Q1 ‘15

Che Codenvy

Q2’ 15

IDE invokable actions

JavaDoc in editorJava jump to defiitionJava package viewer

Factory into named workspace

ProjectType abstractionSDK on WindowsMulti-runner panelImport from file system

Machine APICommand panelSVN pluginGradle plug-in

Deployment abstractionChromium packagingFactory into Che

GitHub pull requestContribution from Factory

Multi-node install manager

Factory editor in UDSelective git commit

Meter-based pricing & ccBitBucket pull request

LDAP integration for On-PremAdd / remove runners via IMMachines & Commands

On-Prem backup / restoreDockerHub integrationVisual merge of pull request

Hot deploy Che extensions

About Che

2009

Che + Codenvy CompanyUsers

2010

20112012

2013

2014

2015

cloud-ide.com launched

20k

60k

109k

Begin designing SDK

Begin Eclipse Che

Win WSO2, eXo SDK partners

Gennady, Benjamin, Tyler meet

Codenvy incorporated

45 HC in USA, France, Ukraine

Intuit: 1st enterprise account1st on-prem installation

$8M Series A

Dozen OSS projects

2016

135k 374k

Projects

40k

100k

303k

+1 0 -1Sign in: www.eclipsecon.org

Evaluate the sessions

Eclipse Chewww.eclipse.org/che

Try it live: codenvy.com

Eclipse Cloud Developmentwww.eclipse.org/ecd

What is Cloud Development?

Objective: Fully hosted, no install automation and governance of developer and development activities.

Hosted Source Code

Cloud IDE CI / CD Issue Management

Governance: Automation, Policies, Analytics

chef + vagrant + docker

Environment

BuilderCompiler Unit Test Packager

Machine

APIsApp

ServersDatabases

BuilderCompiler Unit Test Packager

Machine

APIsApp

ServersDatabases

Workbench

IDE Plug-Ins Syntax

SCM Issue Deployer

BuilderCompiler Unit Test Packager

Machine

APIsApp

ServersDatabases

Workbench

IDE Plug-Ins Syntax

SCM Issue Deployer

Workflow Policies

per developer DIY + environment

Workspace Governance

manual enforcement + workspace

The Cloud IDE Spectrum

Containers and wikis are not encompassing solutions.

Cloud IDEs Distribute Developer ServicesMachines Your SystemsDevelopers Microservices Nodes

orion

cli

eclipse

intellij

sublime

emacs

vi

EC

D C

lien

tsD

eskt

op

Clie

nts

Development Layering (Raw, RAD, 4GL): dirigible

syntax

refactor

clone

build

package

run

debug

query

merge

compile

Middleware

APIs

Code Repo

Artifact Repo

CI / CD

Issue Mgmt

LDAP

Targets

To

ol C

hain

Databases

PaaS

Workflow

contribute

pull request

corporate

hackche

REST API or flux

ECD Alignment

Objectives: Fully integrated solutionCommon API & object vernacularEliminate IP overlapSupport more IDE clientsRecruit additional ECD projects

Roadmap: Continued advancement of each comp Orion + Flux binding Orion adapter for CheDirigible built on Che

ECD Sessions This Week

Tuesday, March 10th, 3pmSession: Introduction to Eclipse Che

Tuesday, March 10th, 2:15pmSession: Git it Done (Orion)

Tuesday, March 10th, 4:15pmSession: Building Orion Plug-Ins

Tuesday, March 10th, 7pmHackathon (Orion + Che)

Wednesday, March 11th, 10:30amSession: JavaScript Language Tools in Orion

Wednesday, March 11th, 1:30pmSession Adapting JDT to the Cloud (Orion + Flux)

Thursday, March 12th, 11:15amSession: Extending Eclipse Flux