Slide 1

Slide 1 text

Automatic Configuration of Server Side Software Development Environments Benjamin Ripkens 27 June 2012

Slide 2

Slide 2 text

Automatic Setup and Configuration of SDEs Automatic Configuration of Server Side SDEs

Slide 3

Slide 3 text

Short recap

Slide 4

Slide 4 text

Jane Configuration Manager Jim System Administrator

Slide 5

Slide 5 text

1 Day

Slide 6

Slide 6 text

Jane Configuration Manager Janus an application

Slide 7

Slide 7 text

Scaffolds

Slide 8

Slide 8 text

Scope

Slide 9

Slide 9 text

Simplicity

Slide 10

Slide 10 text

“simplicity is the ultimate sophistication” Leonardo da Vinci

Slide 11

Slide 11 text

DSL for CI Job

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

name 'Java EE 6 RESTful web application' description 'RESTeasy web service.' buildJob { name 'deploy-staging' no vcs trigger tasks { shell 'echo "Deploying to staging environment."' } } buildJob { name 'build' tasks { maven targets: 'clean install' } trigger 'deploy-staging' on success }

Slide 14

Slide 14 text

RESTeasy web service <1-- some configurations excluded... --> (Default) http://localhost:8000 false http://localhost:8000 true false false false * * * * * false clean install (Default) pom.xml false worblehat-deploy-staging SUCCESS 0 BLUE

Slide 15

Slide 15 text

name 'Java EE 6 RESTful web application' description 'RESTeasy web service.' buildJob { name 'deploy-staging' no vcs trigger tasks { shell 'echo "Deploying to staging environment."' } } buildJob { name 'build' tasks { maven targets: 'clean install' } trigger 'deploy-staging' on success }

Slide 16

Slide 16 text

Adding Git support

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

We need to 1. Change an enum in Janus’ core 2. Add Git config generation strategy to Jenkins

Slide 20

Slide 20 text

We need to 1. Change an enum in Janus’ core 2. Add Git config generation strategy to Jenkins Do we actually need this?

Slide 21

Slide 21 text

We need to 1. Change an enum in Janus’ core 2. Add Git config generation strategy to Jenkins Do we actually need this?

Slide 22

Slide 22 text

No, we do not need it, but removing it would complect Janus!

Slide 23

Slide 23 text

How does Janus know which VCS is supported?

Slide 24

Slide 24 text

How does Janus know which VCS is supported? Plug-in system?

Slide 25

Slide 25 text

1+X Days saved

Slide 26

Slide 26 text

Less manual work

Slide 27

Slide 27 text

Executable architecture

Slide 28

Slide 28 text

be wary Scaffolds are code!

Slide 29

Slide 29 text

Initial set of scaffolds

Slide 30

Slide 30 text

THANKS! Benjamin Ripkens [email protected] http://bripkens.de