ma forge++ : @cloud

Post on 14-Jan-2015

1.109 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Follow-up for my 2010 JugSummerCamp session : hosting software factory on the cloud. Bonus : my opinion on the current state of Apache (?) Maven

TRANSCRIPT

©2011 CloudBees, Inc. All Rights Reserved

Software factory … on the Cloud

Nicolas De Loof

2

#{me /}

Nicolas De loof

• Java-Boy • Senior Engineer at • (ex)Committer Maven (GWT)

• JUG-Leader

©2011 CloudBees, Inc. All Rights Reserved

What’s a Software Factory ?

©2011 CloudBees, Inc. All Rights Reserved

@see JugSummerCamp 2010

©2011 CloudBees, Inc. All Rights Reserved

5

Deployment

Build tool

SCM

Developer (IDE)

C.I.

Project Management

Requirements

Feature branches

Release process

Demo

Production

QA

Static analysis

History

Test Coverage

Dashboard

Tests

U.I Tests

TDD

BDD

FDD

Maintenance

DevOps

Bug Tracker

BugFixBranches

Distribution

©2011 CloudBees, Inc. All Rights Reserved

6

Deployment

Build tool

SCM

Developer (IDE)

Tests

U.I Tests

Project Management

C.I.

Requirements

Feature branches TDD

QA

Static analysis

History

Release process

Demo

Production

Test CoverageDashboard

BDD

FDD

Maintenance

DevOps

Bug Tracker

BugFixBranches

Distribution

©2011 CloudBees, Inc. All Rights Reserved

7

Deployment

Build tool

SCM

Developer (IDE)

Tests

U.I Tests

Project Management

C.I.

Requirements

Feature branches

QA

Static analysis

History

Release process

Demo

Production

Test Coverage

Dashboard

*DD

Maintenance

DevOps

Bug Tracker

BugFixBranches

Distribution

©2011 CloudBees, Inc. All Rights Reserved

8

Deployment

Build tool

SCM

Developer (IDE)

Tests

U.I Tests

Project Management

C.I.

Requirements

Feature branches

QA

Static analysis

History

Release process

Demo

Production

Test Coverage

Dashboard

*DD

Maintenance

DevOps

Bug Tracker

BugFixBranches

Distribution

©2011 CloudBees, Inc. All Rights Reserved

9

Deployment

Build tool

SCM

Developer (IDE)

Tests

U.I Tests

Project Management

C.I.

Requirements

Feature branches

TDD

QA

Static analysis

History

Release process

Demo

Production

Test Coverage

DashboardBDD

FDD

Maintenance

DevOps

Bug Tracker

BugFixBranches

Distribution

©2011 CloudBees, Inc. All Rights Reserved

Choose your SCM

11©2011 CloudBees, Inc. All Rights Reserved

Git !

What else ?

©2011 CloudBees, Inc. All Rights Reserved

Choose your Build tool

13©2011 CloudBees, Inc. All Rights Reserved

• Maven 2 : no more developments• Maven3, what’s new ? … :-/

Maven ?

14©2011 CloudBees, Inc. All Rights Reserved

Maven 3 – Still Apache ?

Sisu (sonatype / EPL)

Plexus (sonatype/ASL/obsolete)

Aether (sonatype / EPL)« Central » (sonatype / Prop.)

Maven-core (ASF)

15©2011 CloudBees, Inc. All Rights Reserved

Mostly opensource M2eclipse integration Hudson integration OSGi & P2 support (tycho) New features (-> maven 3.0.4)

Sonatype Maven

16©2011 CloudBees, Inc. All Rights Reserved

Sonatype-less PMC Learn Eclipse Aether internals Re-implement Plexus-utils Maintain plugins … find more contributors :-/ ?

Apache Maven

17©2011 CloudBees, Inc. All Rights Reserved

Why ?

IP

18©2011 CloudBees, Inc. All Rights Reserved

• Ensure you wont claim IP on contributed code

• Ok, what’s the license for, then ?• No garantee !

Did you sign the CLA ?

19©2011 CloudBees, Inc. All Rights Reserved

Maven future @ ASF ?

20©2011 CloudBees, Inc. All Rights Reserved

• Community first but invitation based• Meritocratic (how to evaluate « merit » ?)• Don’t encourage small contributions

• All self-hosted Late Jira support Still no Git support

• PMC discutions on private list• Rules on doing business with oss ?

Something wrong with Apache / Maven ?

21©2011 CloudBees, Inc. All Rights Reserved

What else ?

?

©2011 CloudBees, Inc. All Rights Reserved

Choose your Automation tool

23©2011 CloudBees, Inc. All Rights Reserved

• 250+ plugins• Still growing dev community• Support all* build tools• More than continuous integration

Jenkins !

24©2011 CloudBees, Inc. All Rights Reserved

Hudson / Jenkins : the fork

KK create Hudson as a Hobby

Hudson is adopted world wide

Oracle aquire SUN

Oracle register « Hudson » trademark

Issues with java.net infrastructure

Oracle uses trademark as a weapon

Vote to rename the project and move to GitHub

Jenkins defines it’s own process

Here we are

Sonatype join Oracle Hudson

Jenkins

moved to GitHub and proposed to Eclipse FoundationHudson

25©2011 CloudBees, Inc. All Rights Reserved

• Open to everybody (just ask)• Management != Technical lead• Highly modularized• Embrace small contributions

(thanks to GitHub pull requests)• « Release early, release often »• Don’t bother (too much) with legals :

no CLA for plugins, no license requirements

Jenkins « community first »

©2011 CloudBees, Inc. All Rights Reserved

Let’s do it

©2011 CloudBees, Inc. All Rights Reserved

27

• Get a « big enough » server

• Install OS• Install JDK• Install SCM • Install Build tools• Install Jenkins• Install plugins• Setup security

• Install DataBase• Install Sonar• Configure repositories• Install repo manager• Configure proxies• Configure Jobs• Configure Sonar rules• Provision Demo server• …

Your Monday morning TODO-list

28©2011 CloudBees, Inc. All Rights Reserved

Option 1 : clone

Upgrades ?Maintenance ?

29©2011 CloudBees, Inc. All Rights Reserved

Option 2 : script

©2011 CloudBees, Inc. All Rights Reserved

30

• Get a « big enough » server• Run scripts• Configure Jobs

Your (revised) Monday morning TODO-list

©2011 CloudBees, Inc. All Rights Reserved

… on the Cloud

32©2011 CloudBees, Inc. All Rights Reserved

• Self service• Rapid elasticity• Pooled resources• Pay per usage

Cloud

33©2011 CloudBees, Inc. All Rights Reserved

• Jenkins « as a Service » hosted on AWS

• Multi level subscription• On demand executors

(Cloud Extension Point)• All plugins available (on demand)• Monitoring & Support

CloudBees DEV@Cloud

34©2011 CloudBees, Inc. All Rights Reserved

Want more ?

35©2011 CloudBees, Inc. All Rights Reserved

• Plug new functionalities to your SF• Centralized authentication & billing

ecosystem

36©2011 CloudBees, Inc. All Rights Reserved

• Test on running application• Demo• Perfs / stress Tests• Production

Platform(s)

©2011 CloudBees, Inc. All Rights Reserved

Choose your platform

38©2011 CloudBees, Inc. All Rights Reserved

• Available on demand• Cheap• Scriptable (DevOps)• Resizable• Simple (from a developer PoV)• Integrated

Requirements

39©2011 CloudBees, Inc. All Rights Reserved

• Available on demand• Cheap• ~ Scriptable • Resizable• Simple (from developer PoV)• Integrated

« Legacy » Java EE platforms

40©2011 CloudBees, Inc. All Rights Reserved

• Available on demand• Cheap• Scriptable • Resizable• ? Simple (from developer PoV)• Integrated

« Modern » Java EE platforms

41©2011 CloudBees, Inc. All Rights Reserved

• On demand• Elastic• Pay per usage• Monitored and Managed• Simplified technical view ?• Integration ?

Use a PaaS !

42©2011 CloudBees, Inc. All Rights Reserved

• Multi-tenant Tomcat 6 on Cloud(JavaEE 6 Web Profile to come soon)

• Monitored High Availability, Autoscale, Clustering, Automated backup, …

in one click

Cloudbees RUN@Cloud

43©2011 CloudBees, Inc. All Rights Reserved

From code to production

CloudBees vision o a PaaS : integration

More to be anounced …

44©2011 CloudBees, Inc. All Rights Reserved

« Shit happens »

45©2011 CloudBees, Inc. All Rights Reserved

• DEV/RUN@Cloud Private Edition

Run Cloudbees service on your own infra

• DEV@Cloud Jenkins migration plugin

Internet as « single point of failure »

46©2011 CloudBees, Inc. All Rights Reserved

Demo

47©2011 CloudBees, Inc. All Rights Reserved

@Cloud

48©2011 CloudBees, Inc. All Rights Reserved

Q@A

top related