AdaptTo 2016 Get the Flow

15
APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 SEPTEMBER 2016 Get the Flow! Dominik Süß, Adobe, Conrad Wöltge, Netcentric

Transcript of AdaptTo 2016 Get the Flow

Page 1: AdaptTo 2016 Get the Flow

APACHE SLING & FRIENDS TECH MEETUPBERLIN, 26-28 SEPTEMBER 2016

Get the Flow!Dominik Süß, Adobe, Conrad Wöltge, Netcentric

Page 2: AdaptTo 2016 Get the Flow

Agenda

adaptTo() 2016 2

▪DevOps & Co.▪The Flow▪Demo▪Challenges

Page 3: AdaptTo 2016 Get the Flow

DevOps

adaptTo() 2016 3

DevOps is a […] practice that emphasizes the collaboration and communication of both software developers and […](IT) professionals while automating the process of software delivery and infrastructure change. (https://en.wikipedia.org/wiki/DevOps)

Deve

lopmen

t

QA

Operations

DevOps

Page 4: AdaptTo 2016 Get the Flow

Continuous Integration

adaptTo() 2016 4

Continuous Integration (CI) is a practice to continuously merge the working state of all developers together and test the sanity of the integrated system.

Page 5: AdaptTo 2016 Get the Flow

Continuous Integration

adaptTo() 2016 5

Releases are expensiveReleases are expensiveRelease more often!

Page 6: AdaptTo 2016 Get the Flow

Continuous Delivery

6

Continuous Delivery(CD) is the practice to continuously and automatically validate each integrated state for all functional and non-functional aspects

Page 7: AdaptTo 2016 Get the Flow

Continuous Deployment

7

Continuous Deployment defines the practice to automate the flow of software from development to production through a continuous pipeline.

Page 8: AdaptTo 2016 Get the Flow

The Flow

adaptTo() 2016 8

git Flow(Pull-Request

based)

Jenkins Pipeline

Page 9: AdaptTo 2016 Get the Flow

Demo time

9

Ingredients- Slingshot application to build- Jenkins 2.0 with Pipeline

Plugin- Docker Slingshot and Maven- GithubSzenario- Pull request: test and deploy

to PROD

Page 10: AdaptTo 2016 Get the Flow

10

DEMO

Page 11: AdaptTo 2016 Get the Flow

Challenges: Testing Content

adaptTo() 2016 11

▪When to to update slave state for various stages?

Installation state of production might change after hitting early pipeline stages

Page 12: AdaptTo 2016 Get the Flow

Challenges: Goals

adaptTo() 2016 12

Tests to be automated in a pipeline:▪Test coverage (Unit tests, integration

tests,...)

▪Code analysis tests (style, security, … )

▪Non-functional tests (endurance, load, stress, security, …

Page 13: AdaptTo 2016 Get the Flow

Challenges: Configuration Management

13

▪Split Configuration from Code▪Configuration needs to be versioned▪Keep configuration and infrastructure in synch▪Plan access control across

stages for Continuous Deployment pipelines.

Page 14: AdaptTo 2016 Get the Flow

Challenges: Sling Specifics

adaptTo() 2016 14

▪Continuous DeliveryComing from file based technologies on monolith repositories▪Challenges for Sling based

Projects▪ Maven and Java versioning▪ OSGi load specifics▪ Everything is content, data is key▪ Content and configuration states▪ Modularity of application

Page 15: AdaptTo 2016 Get the Flow

adaptTo() 2016 15

Continue on Unattended Installations