adaptto 2016 get the flow
TRANSCRIPT
APACHE SLING & FRIENDS TECH MEETUPBERLIN, 26-28 SEPTEMBER 2016
Get the Flow!Dominik Süß, Adobe, Conrad Wöltge, Netcentric
Agenda
adaptTo() 2016 2
▪DevOps & Co.▪The Flow▪Demo▪Challenges
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
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.
Continuous Integration
adaptTo() 2016 5
Releases are expensiveReleases are expensiveRelease more often!
Continuous Delivery
6
Continuous Delivery(CD) is the practice to continuously and automatically validate each integrated state for all functional and non-functional aspects
Continuous Deployment
7
Continuous Deployment defines the practice to automate the flow of software from development to production through a continuous pipeline.
The Flow
adaptTo() 2016 8
git Flow(Pull-Request
based)
Jenkins Pipeline
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
10
DEMO
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
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, …
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.
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
adaptTo() 2016 15
Continue on Unattended Installations