50
Jevgeni Kabanov @ekabanov CEO, ZeroTurnaround import continuous.delivery.* Wednesday, 23 May 12

import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Jevgeni Kabanov@ekabanov

CEO, ZeroTurnaround

import continuous.delivery.*

Wednesday, 23 May 12

Page 2: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Subtitle

Wednesday, 23 May 12

Page 3: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Fedex process

Wednesday, 23 May 12

Page 4: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

•PackageFedex process

Wednesday, 23 May 12

Page 5: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

•Package

•Dropoff

Fedex process

Wednesday, 23 May 12

Page 6: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

•Package

•Dropoff

•Transfer

Fedex process

Wednesday, 23 May 12

Page 7: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

•Package

•Dropoff

•Transfer

•Delivery

Fedex process

Wednesday, 23 May 12

Page 8: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

•Package

•Dropoff

•Transfer

•Delivery

•Profit!

Fedex process

Wednesday, 23 May 12

Page 9: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Java EE

Wednesday, 23 May 12

Page 10: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

•Package

Java EE

Wednesday, 23 May 12

Page 11: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

•Package•Test

Java EE

Wednesday, 23 May 12

Page 12: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

•Package•Test •Approve

Java EE

Wednesday, 23 May 12

Page 13: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

•Package•Test •Approve•Deploy

Java EE

Wednesday, 23 May 12

Page 14: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

•Package•Test •Approve•Deploy •Profit!

Java EE

Wednesday, 23 May 12

Page 15: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Fedex FAIL

Wednesday, 23 May 12

Page 16: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Software FAIL

Wednesday, 23 May 12

Page 17: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Wednesday, 23 May 12

Page 18: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

How do we fix this?

Wednesday, 23 May 12

Page 19: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

How do you package the application?

WAR

myApp.war

JAR

myLib.jar

EAR

myApp.earWednesday, 23 May 12

Page 20: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Where did it come from?

Wednesday, 23 May 12

Page 21: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Where does it go?

Wednesday, 23 May 12

Page 22: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

How does it get deployed?

Wednesday, 23 May 12

Page 23: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

What exactly is in production now?

Wednesday, 23 May 12

Page 24: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

•Text•Another one•One more•Random point

•Less random point•More random point

Subtitle

Wednesday, 23 May 12

Page 25: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Solution:Continuous Delivery

Wednesday, 23 May 12

Page 26: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Wednesday, 23 May 12

Page 27: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

•Orchestration Service•Delivery Manager•Artifact Repository

•NOT a pipeline :)

It’s an automated trackable workflow

Wednesday, 23 May 12

Page 28: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Jenkins(Always safe to talk about OSS projects)

Wednesday, 23 May 12

Page 29: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Continuous integration server

Wednesday, 23 May 12

Page 30: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Orchestration platform

Wednesday, 23 May 12

Page 31: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Automation platform

Wednesday, 23 May 12

Page 32: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

•Logging•Notifications•Clustered•GUI•Authentication•Authorization

Jenkins

Wednesday, 23 May 12

Page 33: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

CRON

Wednesday, 23 May 12

Page 34: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

CRONFor Enterprise

Wednesday, 23 May 12

Page 35: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

CRONFor Enterprise

On CRACK

Wednesday, 23 May 12

Page 36: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

LiveRebel(Commercial deployment tool)

http://0t.ee/importcd

Wednesday, 23 May 12

Page 37: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Deployment Manager

Wednesday, 23 May 12

Page 38: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Deployment ManagerFor Engineers

Wednesday, 23 May 12

Page 39: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Deployment ManagerFor Engineers

ON LSDWednesday, 23 May 12

Page 40: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

•Guaranteed Delivery•No User Left Behind•Panic Button•Exact Knowledge•Zero Configuration

What’s so different?

Wednesday, 23 May 12

Page 41: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

•Deploy/Undeploy•Update•No downtime•No lost sessions•Plain old restarts

•Edit in place

What can you do with LiveRebel?

Wednesday, 23 May 12

Page 42: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

•No good OSS alternative•Supports many containers•No downtime updates•Integrates with OSS projects

Why LiveRebel?

Wednesday, 23 May 12

Page 43: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

http://0t.ee/importcd

Wednesday, 23 May 12

Page 44: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

DEMO

Wednesday, 23 May 12

Page 45: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Jenkins & LiveRebel, Together Forever!

•Jenkins•Workflow Orchestration

•LiveRebel•Guaranteed Delivery

Wednesday, 23 May 12

Page 46: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Now let’s build a trackable pipeline!

Wednesday, 23 May 12

Page 47: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

DEMO

Wednesday, 23 May 12

Page 48: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

•How do you package the application?

•Where did it come from?•Where does it go?•How does it get deployed?•What exactly is in prod now?

Questions?

Wednesday, 23 May 12

Page 49: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

http://0t.ee/importcd

Wednesday, 23 May 12

Page 50: import continuous.delivery.* - GOTO Conference · Java EE Wednesday, 23 May 12 ... Continuous Delivery Wednesday, 23 May 12. Wednesday, 23 May 12

Q & A

Wednesday, 23 May 12