SlideShare a Scribd company logo
1 of 67
Download to read offline
Build Trust in Your
Build-to-Deployment Flow
  Baruch Sadogursky, JFrog
About me

      Baruch Sadogursky
      Developer Advocate @JFrog
          > Job definition (part of):
            Hang out with the DevOps guys
      @jbaruch




JavaOne Russia 2012                         2
Agenda

         The cloud silver bullet
         The right tool for the job
         Binaries all the way
         The magic of release




JavaOne Russia 2012                    3
The New Silver Bullet
EVERYTHING *aaS
What’s So Good About *aaS?

      *aaS features Continuous Delivery




JavaOne Russia 2012                        5
Continuous Delivery FTW

      User advantages
          > Latest version/features
          > No upgrades/maintenance
      Developer advantages
          > Agile
          > Rapid feedback
          > Users are the best beta-testers
          > No long-term support
      Everybody wins?

JavaOne Russia 2012                           6
Almost, except the IT

      Used to quarterly release cycles
      “Secure” pace
      Minimizing the entropy caused by
       developers with ADD




JavaOne Russia 2012                       7
Herding Cats

     Developers
          > Increasing entropy

                      +
     IT (operations)
          > Maintaining stability

                      =
     DevOps
          > Stable change


JavaOne Russia 2012                 8
Continuous Delivery Challenge

         Very frequent releases
         More than one version in production
         Complicated access levels
         Root cause analysis
          > Tracing from binaries to source
      Version tracking
      Not everyone is ready for CD


JavaOne Russia 2012                             9
Continuous Delivery Challenge

         Very frequent releases
         More than one version in production
         Complicated access levels
         Root cause analysis
          > Tracing from binaries to source
      Version tracking
      Not everyone is ready for CD


JavaOne Russia 2012                             10
It’s… Agile!

      Agile principles applied for DevOps
      We have good tooling for Agile
       development
          > Version control
          > Unit testing and code coverage
          > CI servers
          > Hot swap tools
      What’s up with tooling for agile DevOps?

JavaOne Russia 2012                               11
Agile Tooling for DevOps Checklist

      Versioning
      Access control
      Traceability
      Promotions
      Tags and
       annotations
      Search


JavaOne Russia 2012                       12
How Do I Know?

      JFrog SaaS offering
          > Artifactory Online
               › Gradle, Grails, SpringSo
                 urce, Typesafe, Jenkins
                 , etc.
      We build, release
       and eat our own dog
       food
          > Continuously



JavaOne Russia 2012                         13
The Right Tool for the Job
HERE COMES BINARY REPOSITORY
Here Comes Binary Repository

      E.g. Artifactory
      Proxy
      Smart storage
          > Much more than a passive space
      Critical for CI/CD and ALM




JavaOne Russia 2012                          15
Tooling Chain




JavaOne Russia 2012   16
Artifactory in DevOps Ecosystem




JavaOne Russia 2012                    17
Meet Your Binary Repository
DEMO TIME!
Binaries All the Way

      From some point product in your
       lifecycle, all you care about is binaries
      Lots of things to do after the software is
       built




JavaOne Russia 2012                                 19
The Release Pipeline




      Source: Agile ALM, Michael Hüttermann, Manning Publications Co.


JavaOne Russia 2012                                                     20
Passing the software to QA

      Different access rights
      Different physical location
      Ability to annotate




JavaOne Russia 2012                  21
Staging and Preproduction

      Replication of Production environment
          > Lock versions of dependencies and artifacts
      Allow access to set of users




JavaOne Russia 2012                                       22
Going to Production

         Convert staging binaries to production
         Allow public access
         Change settings
         Tag




JavaOne Russia 2012                                23
Traceability

      Binaries should be traceable at every
       stage
          > Sources
          > Dependencies
          > Environment details
          > Tags
      Where’s the information?
          > Version control system
          > Build server

JavaOne Russia 2012                            24
Traceability with Artifactory Plugin

      Adding Metadata about the build
          > Gathers build information
          > Uploads artifacts in a bulk
          > Uploads build information
          > Maintains bi-directional links




JavaOne Russia 2012                          25
Tracing Artifacts
DEMO TIME!
DevOps
WHAT MY FRIENDS THINK I DO
What Others Think I Do




JavaOne Russia 2012           28
What I Think I Do




JavaOne Russia 2012      29
What I Really Do




JavaOne Russia 2012     30
What I Really Do




JavaOne Russia 2012     31
What I should Do




JavaOne Russia 2012     32
Target: Automation

     It’s impossible to release frequently with
      manual procedures
          > While maintaining quality
     Use your binaries storage to release




JavaOne Russia 2012                                33
Put your repository to work
THE MAGIC OF RELEASE
Release Candidates

      Your next build is a release-candidate
      Once successfully built and tested, click
       the button
          > Automatic versions switch
               › From integration to release
          > Right place to put your binaries
               › Move from Staging to Public
          > Automatic VCS tagging


JavaOne Russia 2012                                35
Releasing with Release Candidates

      Process:
          1.   Produce and build snapshots until satisfied
          2.   Once satisfied, build a release candidate
          3.   Stage RC, check and verify
          4.   Once verified, release




JavaOne Russia 2012                                          36
Releasing With Artifactory Plugin

      Changes versions in build script
      Allows choosing a target deploy
       repository
      Creates a VCS tag/branch




JavaOne Russia 2012                       37
Release With Release Candidates
DEMO TIME!
OOTB Release Management

      Pros                     Cons
          > Out of the box      > Limited
          > Supports the “by      extensibility
            the book”           > May not fit your
            release cycle         requirements
          > Supports
            majority of the
            tools

JavaOne Russia 2012
Releasing with Release Candidates

      Process:
          1.   Produce and build snapshots until satisfied
          2.   Once satisfied, build a release candidate
          3.   Stage RC, check and verify
          4.   Once checked, release




JavaOne Russia 2012                                          40
Releasing with Release Candidates

      Process:
          1. Produce and build snapshots until satisfied

          3. Stage RC, check and verify
          4. Once checked, release




JavaOne Russia 2012                                        41
Releasing with Release Candidates

      Lots of things can go wrong during one
       more build
      If we won’t build it, we won’t screw it
      Revised Process:
          1. Produce and build snapshots until satisfied
          2. When satisfied, check and verify
          3. Once checked, release



JavaOne Russia 2012                                        42
Target: Automation

     It’s impossible to release frequently with
      manual procedures
          > While maintaining quality
     Use your binaries storage to release




JavaOne Russia 2012                                43
Automation Flexibility

     We Know: We Don’t Know Better
      YMMV (great deal)       Write your own
                                release logic
                               Pre and post
                                build deploy
                                hooks



JavaOne Russia 2012                              44
Flexible Release

      Code your release strategy
          > Versioning scheme
          > VCS (tagging, branching, commit comments)
          > Promotion hook
            (copy/move, comments, status)
      Available by REST




JavaOne Russia 2012                                     45
Controlling Versioning Scheme

      Classic versioning scheme:
          > Release version
               › 2.0.3
          > Integration version
               › 2.0.4-SNAPSHOT
      YMMV
          > Write your own strategy for versioning



JavaOne Russia 2012                                  46
Example: Promotion of Snapshots

                             Sometimes
                              the build
                              takes long
                              time…



                             But that’s the
                              silly reason



JavaOne Russia 2012                            47
Example: Promotion of Snapshots

      Choose existing build to become a
       release
      Using REST API without build server
      Invoke promotion plugin
          > Convert to next version
          > Tag, branch, etc.
          > Promote (copy/move)



JavaOne Russia 2012                          48
Plugin What?
CODE TIME!
Pluggable Architecture with DSLs

         Artifactory is open for user plugins
         Simple Groovy DSL
         Your code runs inside the server
         Uses Public API (PAPI)
          > Search for artifacts
          > Search for builds
          > Copy/move artifacts
          > Manipulate files
               › E.g. change versions in descriptors

JavaOne Russia 2012
Plugin Invocation Options

      As a response for various events
          > Download/Create/Delete
          > Login
          > Release
      Scheduled
      On demand



JavaOne Russia 2012                       51
Plugin Code




     Manipulating Version Control Systems


JavaOne Russia 2012                          52
Plugin Code




     Manipulating BuildInfo object


JavaOne Russia 2012                   53
Plugin Code




      Creating and replacing artifacts
JavaOne Russia 2012                       54
Calling REST API With CURL




JavaOne Russia 2012               55
Calling REST API With CURL

     http://repo-demo:8080/
     artifactory/api/plugins/
     build/promote/snapshotToRelease/
     gradle-multi-example/1?
     params=snapExp=d14|
     targetRepository=gradle-release-
     local


JavaOne Russia 2012                     56
Calling REST API With CURL

     http://repo-demo:8080/   Artifactory server

     artifactory/api/plugins/
     build/promote/snapshotToRelease/
     gradle-multi-example/1?
     params=snapExp=d14|
     targetRepository=gradle-release-
     local


JavaOne Russia 2012                                57
Calling REST API With CURL

     http://repo-demo:8080/   Artifactory server

     artifactory/api/plugins/       Plugins API

     build/promote/snapshotToRelease/
     gradle-multi-example/1?
     params=snapExp=d14|
     targetRepository=gradle-release-
     local


JavaOne Russia 2012                                58
Calling REST API With CURL

     http://repo-demo:8080/   Artifactory server

     artifactory/api/plugins/       Plugins API

     build/promote/snapshotToRelease/
                                    Plugin name

     gradle-multi-example/1?
     params=snapExp=d14|
     targetRepository=gradle-release-
     local


JavaOne Russia 2012                                59
Calling REST API With CURL

     http://repo-demo:8080/    Artifactory server

     artifactory/api/plugins/        Plugins API

     build/promote/snapshotToRelease/Plugin name

     gradle-multi-example/1? Build name and number
     params=snapExp=d14|
     targetRepository=gradle-release-
     local


JavaOne Russia 2012                                  60
Calling REST API With CURL

     http://repo-demo:8080/       Artifactory server

     artifactory/api/plugins/           Plugins API

     build/promote/snapshotToRelease/   Plugin name

     gradle-multi-example/1? Build name and number
     params=snapExp=d14|    versioning scheme

     targetRepository=gradle-release-
     local


JavaOne Russia 2012                                    61
Calling REST API With CURL

     http://repo-demo:8080/                    Artifactory server

     artifactory/api/plugins/                        Plugins API

     build/promote/snapshotToRelease/                Plugin name

     gradle-multi-example/1? Build name and number
     params=snapExp=d14|                versioning scheme

     targetRepository=gradle-release-
     local           Target repository for release




JavaOne Russia 2012                                                 62
Recap: Promotion of Snapshots

      Choose existing build to become a
       release
      Using the REST API without building
      Invoking the promotion plugin
          > Convert to next version
          > Tag, branch, etc.
          > Promote (copy/move)



JavaOne Russia 2012                          63
Release by Snapshot Promotion
DEMO TIME!
4 Commandments of DevOps

      Automate
       everything
      Version
       everything
      Trace everything
      Report/Log/Feed
       back everything    Designed by Jessica Allen on Dribbble.com




JavaOne Russia 2012                                                   65
4 Commandments of DevOps

      Automate
       everything
      Version
       everything
      Trace everything
      Report/Log/Feed
       back everything    Designed by Jessica Allen on Dribbble.com




JavaOne Russia 2012                                                   66
Build Trust in Your Build-to-Deployment Flow!

More Related Content

What's hot

Continuous Deployment Pipeline with maven
Continuous Deployment Pipeline with mavenContinuous Deployment Pipeline with maven
Continuous Deployment Pipeline with mavenAlan Parkinson
 
Version Management in Maven
Version Management in MavenVersion Management in Maven
Version Management in MavenGeert Pante
 
Apache Maven for SoftServe IT Academy
Apache Maven for SoftServe IT AcademyApache Maven for SoftServe IT Academy
Apache Maven for SoftServe IT AcademyVolodymyr Ostapiv
 
Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Mike McGarr
 
An introduction to Maven
An introduction to MavenAn introduction to Maven
An introduction to MavenJoao Pereira
 
Build Automation using Maven
Build Automation using Maven Build Automation using Maven
Build Automation using Maven Ankit Gubrani
 
Sys ml helperprofile-rhapsody813-obtainandinstall-v1
Sys ml helperprofile-rhapsody813-obtainandinstall-v1Sys ml helperprofile-rhapsody813-obtainandinstall-v1
Sys ml helperprofile-rhapsody813-obtainandinstall-v1Fraser Chadburn
 
Quality on Submit
Quality on SubmitQuality on Submit
Quality on SubmitAgileSparks
 
LUGOD Raspberry Pi Hacking
LUGOD Raspberry Pi HackingLUGOD Raspberry Pi Hacking
LUGOD Raspberry Pi HackingStephen Chin
 
IBM Rational Rhapsody 8.4 install guide (including Cygwin and obtaining an ev...
IBM Rational Rhapsody 8.4 install guide (including Cygwin and obtaining an ev...IBM Rational Rhapsody 8.4 install guide (including Cygwin and obtaining an ev...
IBM Rational Rhapsody 8.4 install guide (including Cygwin and obtaining an ev...Fraser Chadburn
 
DOAG 2011 - Upgrade Guide for Oracle ADF on WebLogic Server
DOAG 2011 - Upgrade Guide for Oracle ADF on WebLogic ServerDOAG 2011 - Upgrade Guide for Oracle ADF on WebLogic Server
DOAG 2011 - Upgrade Guide for Oracle ADF on WebLogic ServerAndreas Koop
 

What's hot (20)

Continuous delivery-with-maven
Continuous delivery-with-mavenContinuous delivery-with-maven
Continuous delivery-with-maven
 
Continuous Deployment Pipeline with maven
Continuous Deployment Pipeline with mavenContinuous Deployment Pipeline with maven
Continuous Deployment Pipeline with maven
 
Version Management in Maven
Version Management in MavenVersion Management in Maven
Version Management in Maven
 
Apache Maven for SoftServe IT Academy
Apache Maven for SoftServe IT AcademyApache Maven for SoftServe IT Academy
Apache Maven for SoftServe IT Academy
 
Alm 4 Azure
Alm 4 AzureAlm 4 Azure
Alm 4 Azure
 
Ch2
Ch2Ch2
Ch2
 
Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)
 
03 - Continuous Integration
03 - Continuous Integration03 - Continuous Integration
03 - Continuous Integration
 
An introduction to Maven
An introduction to MavenAn introduction to Maven
An introduction to Maven
 
Build Automation using Maven
Build Automation using Maven Build Automation using Maven
Build Automation using Maven
 
Maven nutshell
Maven nutshellMaven nutshell
Maven nutshell
 
Lec 3 01_aug13
Lec 3 01_aug13Lec 3 01_aug13
Lec 3 01_aug13
 
Sys ml helperprofile-rhapsody813-obtainandinstall-v1
Sys ml helperprofile-rhapsody813-obtainandinstall-v1Sys ml helperprofile-rhapsody813-obtainandinstall-v1
Sys ml helperprofile-rhapsody813-obtainandinstall-v1
 
Quality on Submit
Quality on SubmitQuality on Submit
Quality on Submit
 
Objectif cloud
Objectif cloudObjectif cloud
Objectif cloud
 
Evolution of java By Abbas khan
Evolution of java   By Abbas khan Evolution of java   By Abbas khan
Evolution of java By Abbas khan
 
LUGOD Raspberry Pi Hacking
LUGOD Raspberry Pi HackingLUGOD Raspberry Pi Hacking
LUGOD Raspberry Pi Hacking
 
Sd ss-plan-2013-and-beyond
Sd ss-plan-2013-and-beyondSd ss-plan-2013-and-beyond
Sd ss-plan-2013-and-beyond
 
IBM Rational Rhapsody 8.4 install guide (including Cygwin and obtaining an ev...
IBM Rational Rhapsody 8.4 install guide (including Cygwin and obtaining an ev...IBM Rational Rhapsody 8.4 install guide (including Cygwin and obtaining an ev...
IBM Rational Rhapsody 8.4 install guide (including Cygwin and obtaining an ev...
 
DOAG 2011 - Upgrade Guide for Oracle ADF on WebLogic Server
DOAG 2011 - Upgrade Guide for Oracle ADF on WebLogic ServerDOAG 2011 - Upgrade Guide for Oracle ADF on WebLogic Server
DOAG 2011 - Upgrade Guide for Oracle ADF on WebLogic Server
 

Viewers also liked

Repository Management with JFrog Artifactory
Repository Management with JFrog ArtifactoryRepository Management with JFrog Artifactory
Repository Management with JFrog ArtifactoryStephen Chin
 
Confessions of a Former Agile Methodologist (JFrog Edition)
Confessions of a Former Agile Methodologist (JFrog Edition)Confessions of a Former Agile Methodologist (JFrog Edition)
Confessions of a Former Agile Methodologist (JFrog Edition)Stephen Chin
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Puppet
 
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode DeployContinuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode DeployIBM UrbanCode Products
 
Kanban pour maîtriser le développement incrémental
Kanban pour maîtriser le développement incrémentalKanban pour maîtriser le développement incrémental
Kanban pour maîtriser le développement incrémentalFabrice Aimetti
 

Viewers also liked (7)

Artifactory UOC
Artifactory UOCArtifactory UOC
Artifactory UOC
 
Clean architectures
Clean architecturesClean architectures
Clean architectures
 
Repository Management with JFrog Artifactory
Repository Management with JFrog ArtifactoryRepository Management with JFrog Artifactory
Repository Management with JFrog Artifactory
 
Confessions of a Former Agile Methodologist (JFrog Edition)
Confessions of a Former Agile Methodologist (JFrog Edition)Confessions of a Former Agile Methodologist (JFrog Edition)
Confessions of a Former Agile Methodologist (JFrog Edition)
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
 
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode DeployContinuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
Continuous Delivery with Jenkins Enterprise and IBM UrbanCode Deploy
 
Kanban pour maîtriser le développement incrémental
Kanban pour maîtriser le développement incrémentalKanban pour maîtriser le développement incrémental
Kanban pour maîtriser le développement incrémental
 

Similar to Build Trust in Your Build-to-Deployment Flow!

The Brave New World of Continuous Release - Baruch Sadogursky
The Brave New World of Continuous Release - Baruch SadogurskyThe Brave New World of Continuous Release - Baruch Sadogursky
The Brave New World of Continuous Release - Baruch Sadogurskyjaxconf
 
Jdc 2010 - Maven, Intelligent Projects
Jdc 2010 - Maven, Intelligent ProjectsJdc 2010 - Maven, Intelligent Projects
Jdc 2010 - Maven, Intelligent ProjectsMert Çalışkan
 
JavaFX - Sketch Board to Production
JavaFX - Sketch Board to ProductionJavaFX - Sketch Board to Production
JavaFX - Sketch Board to ProductionYoav Aharoni
 
Automating development-operations-v1
Automating development-operations-v1Automating development-operations-v1
Automating development-operations-v1Sumanth Vepa
 
Battle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java ProjectBattle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java ProjectGlobalLogic Ukraine
 
Java Web Start czyli jak żyć z tą dziwną technologią? & Continuous Delivery w...
Java Web Start czyli jak żyć z tą dziwną technologią? & Continuous Delivery w...Java Web Start czyli jak żyć z tą dziwną technologią? & Continuous Delivery w...
Java Web Start czyli jak żyć z tą dziwną technologią? & Continuous Delivery w...MarcinStachniuk
 
The Readiness of ADF Essentials for Public-facing Web Applications
The Readiness of ADF Essentials for Public-facing Web ApplicationsThe Readiness of ADF Essentials for Public-facing Web Applications
The Readiness of ADF Essentials for Public-facing Web ApplicationsLansenConsulting
 
Linuxtag 2012 - continuous delivery - dream to reality
Linuxtag 2012  - continuous delivery - dream to realityLinuxtag 2012  - continuous delivery - dream to reality
Linuxtag 2012 - continuous delivery - dream to realityClément Escoffier
 
Continuous Delivery Applied
Continuous Delivery AppliedContinuous Delivery Applied
Continuous Delivery AppliedExcella
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Mike McGarr
 
Ii 1300-java essentials for android
Ii 1300-java essentials for androidIi 1300-java essentials for android
Ii 1300-java essentials for androidAdrian Mikeliunas
 
Automating Drupal Deployment
Automating Drupal DeploymentAutomating Drupal Deployment
Automating Drupal DeploymentGerald Villorente
 
Continuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and DeployitContinuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and DeployitXebiaLabs
 
Enforcing code guidelines by extending JDeveloper’s auditing framework @OOW14
Enforcing code guidelines by extending JDeveloper’s auditing framework @OOW14Enforcing code guidelines by extending JDeveloper’s auditing framework @OOW14
Enforcing code guidelines by extending JDeveloper’s auditing framework @OOW14Richard Olrichs
 
Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Mike McGarr
 
JDeveloper Auditing Framework (UKOUG Tech2013)
JDeveloper Auditing Framework (UKOUG Tech2013)JDeveloper Auditing Framework (UKOUG Tech2013)
JDeveloper Auditing Framework (UKOUG Tech2013)Wilfred van der Deijl
 

Similar to Build Trust in Your Build-to-Deployment Flow! (20)

The Brave New World of Continuous Release - Baruch Sadogursky
The Brave New World of Continuous Release - Baruch SadogurskyThe Brave New World of Continuous Release - Baruch Sadogursky
The Brave New World of Continuous Release - Baruch Sadogursky
 
Jdc 2010 - Maven, Intelligent Projects
Jdc 2010 - Maven, Intelligent ProjectsJdc 2010 - Maven, Intelligent Projects
Jdc 2010 - Maven, Intelligent Projects
 
JavaFX - Sketch Board to Production
JavaFX - Sketch Board to ProductionJavaFX - Sketch Board to Production
JavaFX - Sketch Board to Production
 
Automating development-operations-v1
Automating development-operations-v1Automating development-operations-v1
Automating development-operations-v1
 
Battle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java ProjectBattle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java Project
 
Java Web Start czyli jak żyć z tą dziwną technologią? & Continuous Delivery w...
Java Web Start czyli jak żyć z tą dziwną technologią? & Continuous Delivery w...Java Web Start czyli jak żyć z tą dziwną technologią? & Continuous Delivery w...
Java Web Start czyli jak żyć z tą dziwną technologią? & Continuous Delivery w...
 
The Readiness of ADF Essentials for Public-facing Web Applications
The Readiness of ADF Essentials for Public-facing Web ApplicationsThe Readiness of ADF Essentials for Public-facing Web Applications
The Readiness of ADF Essentials for Public-facing Web Applications
 
Linuxtag 2012 - continuous delivery - dream to reality
Linuxtag 2012  - continuous delivery - dream to realityLinuxtag 2012  - continuous delivery - dream to reality
Linuxtag 2012 - continuous delivery - dream to reality
 
Continuous Delivery Applied
Continuous Delivery AppliedContinuous Delivery Applied
Continuous Delivery Applied
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)
 
Continuous Delivery Applied
Continuous Delivery AppliedContinuous Delivery Applied
Continuous Delivery Applied
 
App c
App cApp c
App c
 
Ii 1300-java essentials for android
Ii 1300-java essentials for androidIi 1300-java essentials for android
Ii 1300-java essentials for android
 
Automating Drupal Deployment
Automating Drupal DeploymentAutomating Drupal Deployment
Automating Drupal Deployment
 
Continuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and DeployitContinuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and Deployit
 
2012 01-jenkins-udeploy
2012 01-jenkins-udeploy2012 01-jenkins-udeploy
2012 01-jenkins-udeploy
 
Enforcing code guidelines by extending JDeveloper’s auditing framework @OOW14
Enforcing code guidelines by extending JDeveloper’s auditing framework @OOW14Enforcing code guidelines by extending JDeveloper’s auditing framework @OOW14
Enforcing code guidelines by extending JDeveloper’s auditing framework @OOW14
 
JavaOne Update zur Java Plattform
JavaOne Update zur Java PlattformJavaOne Update zur Java Plattform
JavaOne Update zur Java Plattform
 
Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)
 
JDeveloper Auditing Framework (UKOUG Tech2013)
JDeveloper Auditing Framework (UKOUG Tech2013)JDeveloper Auditing Framework (UKOUG Tech2013)
JDeveloper Auditing Framework (UKOUG Tech2013)
 

More from Baruch Sadogursky

DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April ...
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April ...DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April ...
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April ...Baruch Sadogursky
 
DevOps Patterns & Antipatterns for Continuous Software Updates @ DevOps.com A...
DevOps Patterns & Antipatterns for Continuous Software Updates @ DevOps.com A...DevOps Patterns & Antipatterns for Continuous Software Updates @ DevOps.com A...
DevOps Patterns & Antipatterns for Continuous Software Updates @ DevOps.com A...Baruch Sadogursky
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code NY...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code NY...DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code NY...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code NY...Baruch Sadogursky
 
Data driven devops as presented at QCon London 2018
Data driven devops as presented at QCon London 2018Data driven devops as presented at QCon London 2018
Data driven devops as presented at QCon London 2018Baruch Sadogursky
 
A Research Study Into DevOps Bottlenecks as presented at Oracle Code LA 2018
A Research Study Into DevOps Bottlenecks as presented at Oracle Code LA 2018A Research Study Into DevOps Bottlenecks as presented at Oracle Code LA 2018
A Research Study Into DevOps Bottlenecks as presented at Oracle Code LA 2018Baruch Sadogursky
 
Java Puzzlers NG S03 a DevNexus 2018
Java Puzzlers NG S03 a DevNexus 2018Java Puzzlers NG S03 a DevNexus 2018
Java Puzzlers NG S03 a DevNexus 2018Baruch Sadogursky
 
Where the Helm are your binaries? as presented at Canada Kubernetes Meetups
Where the Helm are your binaries? as presented at Canada Kubernetes MeetupsWhere the Helm are your binaries? as presented at Canada Kubernetes Meetups
Where the Helm are your binaries? as presented at Canada Kubernetes MeetupsBaruch Sadogursky
 
Data driven devops as presented at Codemash 2018
Data driven devops as presented at Codemash 2018Data driven devops as presented at Codemash 2018
Data driven devops as presented at Codemash 2018Baruch Sadogursky
 
A Research Study into DevOps Bottlenecks as presented at Codemash 2018
A Research Study into DevOps Bottlenecks as presented at Codemash 2018A Research Study into DevOps Bottlenecks as presented at Codemash 2018
A Research Study into DevOps Bottlenecks as presented at Codemash 2018Baruch Sadogursky
 
Best Practices for Managing Docker Versions as presented at JavaOne 2017
Best Practices for Managing Docker Versions as presented at JavaOne 2017Best Practices for Managing Docker Versions as presented at JavaOne 2017
Best Practices for Managing Docker Versions as presented at JavaOne 2017Baruch Sadogursky
 
Troubleshooting & Debugging Production Microservices in Kubernetes as present...
Troubleshooting & Debugging Production Microservices in Kubernetes as present...Troubleshooting & Debugging Production Microservices in Kubernetes as present...
Troubleshooting & Debugging Production Microservices in Kubernetes as present...Baruch Sadogursky
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017Baruch Sadogursky
 
Amazon Alexa Skills vs Google Home Actions, the Big Java VUI Faceoff as prese...
Amazon Alexa Skills vs Google Home Actions, the Big Java VUI Faceoff as prese...Amazon Alexa Skills vs Google Home Actions, the Big Java VUI Faceoff as prese...
Amazon Alexa Skills vs Google Home Actions, the Big Java VUI Faceoff as prese...Baruch Sadogursky
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Days Be...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Days Be...DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Days Be...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Days Be...Baruch Sadogursky
 
Java Puzzlers NG S02: Down the Rabbit Hole as it was presented at The Pittsbu...
Java Puzzlers NG S02: Down the Rabbit Hole as it was presented at The Pittsbu...Java Puzzlers NG S02: Down the Rabbit Hole as it was presented at The Pittsbu...
Java Puzzlers NG S02: Down the Rabbit Hole as it was presented at The Pittsbu...Baruch Sadogursky
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...Baruch Sadogursky
 
Let’s Wing It: A Study in DevRel Strategy
 Let’s Wing It: A Study in DevRel Strategy Let’s Wing It: A Study in DevRel Strategy
Let’s Wing It: A Study in DevRel StrategyBaruch Sadogursky
 
Log Driven First Class Customer Support at Scale
Log Driven First Class Customer Support at ScaleLog Driven First Class Customer Support at Scale
Log Driven First Class Customer Support at ScaleBaruch Sadogursky
 
[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps
[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps
[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOpsBaruch Sadogursky
 
Patterns and antipatterns in Docker image lifecycle as was presented at DC Do...
Patterns and antipatterns in Docker image lifecycle as was presented at DC Do...Patterns and antipatterns in Docker image lifecycle as was presented at DC Do...
Patterns and antipatterns in Docker image lifecycle as was presented at DC Do...Baruch Sadogursky
 

More from Baruch Sadogursky (20)

DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April ...
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April ...DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April ...
DevOps Patterns & Antipatterns for Continuous Software Updates @ NADOG April ...
 
DevOps Patterns & Antipatterns for Continuous Software Updates @ DevOps.com A...
DevOps Patterns & Antipatterns for Continuous Software Updates @ DevOps.com A...DevOps Patterns & Antipatterns for Continuous Software Updates @ DevOps.com A...
DevOps Patterns & Antipatterns for Continuous Software Updates @ DevOps.com A...
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code NY...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code NY...DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code NY...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code NY...
 
Data driven devops as presented at QCon London 2018
Data driven devops as presented at QCon London 2018Data driven devops as presented at QCon London 2018
Data driven devops as presented at QCon London 2018
 
A Research Study Into DevOps Bottlenecks as presented at Oracle Code LA 2018
A Research Study Into DevOps Bottlenecks as presented at Oracle Code LA 2018A Research Study Into DevOps Bottlenecks as presented at Oracle Code LA 2018
A Research Study Into DevOps Bottlenecks as presented at Oracle Code LA 2018
 
Java Puzzlers NG S03 a DevNexus 2018
Java Puzzlers NG S03 a DevNexus 2018Java Puzzlers NG S03 a DevNexus 2018
Java Puzzlers NG S03 a DevNexus 2018
 
Where the Helm are your binaries? as presented at Canada Kubernetes Meetups
Where the Helm are your binaries? as presented at Canada Kubernetes MeetupsWhere the Helm are your binaries? as presented at Canada Kubernetes Meetups
Where the Helm are your binaries? as presented at Canada Kubernetes Meetups
 
Data driven devops as presented at Codemash 2018
Data driven devops as presented at Codemash 2018Data driven devops as presented at Codemash 2018
Data driven devops as presented at Codemash 2018
 
A Research Study into DevOps Bottlenecks as presented at Codemash 2018
A Research Study into DevOps Bottlenecks as presented at Codemash 2018A Research Study into DevOps Bottlenecks as presented at Codemash 2018
A Research Study into DevOps Bottlenecks as presented at Codemash 2018
 
Best Practices for Managing Docker Versions as presented at JavaOne 2017
Best Practices for Managing Docker Versions as presented at JavaOne 2017Best Practices for Managing Docker Versions as presented at JavaOne 2017
Best Practices for Managing Docker Versions as presented at JavaOne 2017
 
Troubleshooting & Debugging Production Microservices in Kubernetes as present...
Troubleshooting & Debugging Production Microservices in Kubernetes as present...Troubleshooting & Debugging Production Microservices in Kubernetes as present...
Troubleshooting & Debugging Production Microservices in Kubernetes as present...
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017
 
Amazon Alexa Skills vs Google Home Actions, the Big Java VUI Faceoff as prese...
Amazon Alexa Skills vs Google Home Actions, the Big Java VUI Faceoff as prese...Amazon Alexa Skills vs Google Home Actions, the Big Java VUI Faceoff as prese...
Amazon Alexa Skills vs Google Home Actions, the Big Java VUI Faceoff as prese...
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Days Be...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Days Be...DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Days Be...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Days Be...
 
Java Puzzlers NG S02: Down the Rabbit Hole as it was presented at The Pittsbu...
Java Puzzlers NG S02: Down the Rabbit Hole as it was presented at The Pittsbu...Java Puzzlers NG S02: Down the Rabbit Hole as it was presented at The Pittsbu...
Java Puzzlers NG S02: Down the Rabbit Hole as it was presented at The Pittsbu...
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...
 
Let’s Wing It: A Study in DevRel Strategy
 Let’s Wing It: A Study in DevRel Strategy Let’s Wing It: A Study in DevRel Strategy
Let’s Wing It: A Study in DevRel Strategy
 
Log Driven First Class Customer Support at Scale
Log Driven First Class Customer Support at ScaleLog Driven First Class Customer Support at Scale
Log Driven First Class Customer Support at Scale
 
[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps
[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps
[Webinar] The Frog And The Butler: CI Pipelines For Modern DevOps
 
Patterns and antipatterns in Docker image lifecycle as was presented at DC Do...
Patterns and antipatterns in Docker image lifecycle as was presented at DC Do...Patterns and antipatterns in Docker image lifecycle as was presented at DC Do...
Patterns and antipatterns in Docker image lifecycle as was presented at DC Do...
 

Recently uploaded

COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 

Recently uploaded (20)

COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 

Build Trust in Your Build-to-Deployment Flow!

  • 1. Build Trust in Your Build-to-Deployment Flow Baruch Sadogursky, JFrog
  • 2. About me  Baruch Sadogursky  Developer Advocate @JFrog > Job definition (part of): Hang out with the DevOps guys  @jbaruch JavaOne Russia 2012 2
  • 3. Agenda  The cloud silver bullet  The right tool for the job  Binaries all the way  The magic of release JavaOne Russia 2012 3
  • 4. The New Silver Bullet EVERYTHING *aaS
  • 5. What’s So Good About *aaS?  *aaS features Continuous Delivery JavaOne Russia 2012 5
  • 6. Continuous Delivery FTW  User advantages > Latest version/features > No upgrades/maintenance  Developer advantages > Agile > Rapid feedback > Users are the best beta-testers > No long-term support  Everybody wins? JavaOne Russia 2012 6
  • 7. Almost, except the IT  Used to quarterly release cycles  “Secure” pace  Minimizing the entropy caused by developers with ADD JavaOne Russia 2012 7
  • 8. Herding Cats Developers > Increasing entropy + IT (operations) > Maintaining stability = DevOps > Stable change JavaOne Russia 2012 8
  • 9. Continuous Delivery Challenge  Very frequent releases  More than one version in production  Complicated access levels  Root cause analysis > Tracing from binaries to source  Version tracking  Not everyone is ready for CD JavaOne Russia 2012 9
  • 10. Continuous Delivery Challenge  Very frequent releases  More than one version in production  Complicated access levels  Root cause analysis > Tracing from binaries to source  Version tracking  Not everyone is ready for CD JavaOne Russia 2012 10
  • 11. It’s… Agile!  Agile principles applied for DevOps  We have good tooling for Agile development > Version control > Unit testing and code coverage > CI servers > Hot swap tools  What’s up with tooling for agile DevOps? JavaOne Russia 2012 11
  • 12. Agile Tooling for DevOps Checklist  Versioning  Access control  Traceability  Promotions  Tags and annotations  Search JavaOne Russia 2012 12
  • 13. How Do I Know?  JFrog SaaS offering > Artifactory Online › Gradle, Grails, SpringSo urce, Typesafe, Jenkins , etc.  We build, release and eat our own dog food > Continuously JavaOne Russia 2012 13
  • 14. The Right Tool for the Job HERE COMES BINARY REPOSITORY
  • 15. Here Comes Binary Repository  E.g. Artifactory  Proxy  Smart storage > Much more than a passive space  Critical for CI/CD and ALM JavaOne Russia 2012 15
  • 17. Artifactory in DevOps Ecosystem JavaOne Russia 2012 17
  • 18. Meet Your Binary Repository DEMO TIME!
  • 19. Binaries All the Way  From some point product in your lifecycle, all you care about is binaries  Lots of things to do after the software is built JavaOne Russia 2012 19
  • 20. The Release Pipeline Source: Agile ALM, Michael Hüttermann, Manning Publications Co. JavaOne Russia 2012 20
  • 21. Passing the software to QA  Different access rights  Different physical location  Ability to annotate JavaOne Russia 2012 21
  • 22. Staging and Preproduction  Replication of Production environment > Lock versions of dependencies and artifacts  Allow access to set of users JavaOne Russia 2012 22
  • 23. Going to Production  Convert staging binaries to production  Allow public access  Change settings  Tag JavaOne Russia 2012 23
  • 24. Traceability  Binaries should be traceable at every stage > Sources > Dependencies > Environment details > Tags  Where’s the information? > Version control system > Build server JavaOne Russia 2012 24
  • 25. Traceability with Artifactory Plugin  Adding Metadata about the build > Gathers build information > Uploads artifacts in a bulk > Uploads build information > Maintains bi-directional links JavaOne Russia 2012 25
  • 28. What Others Think I Do JavaOne Russia 2012 28
  • 29. What I Think I Do JavaOne Russia 2012 29
  • 30. What I Really Do JavaOne Russia 2012 30
  • 31. What I Really Do JavaOne Russia 2012 31
  • 32. What I should Do JavaOne Russia 2012 32
  • 33. Target: Automation  It’s impossible to release frequently with manual procedures > While maintaining quality  Use your binaries storage to release JavaOne Russia 2012 33
  • 34. Put your repository to work THE MAGIC OF RELEASE
  • 35. Release Candidates  Your next build is a release-candidate  Once successfully built and tested, click the button > Automatic versions switch › From integration to release > Right place to put your binaries › Move from Staging to Public > Automatic VCS tagging JavaOne Russia 2012 35
  • 36. Releasing with Release Candidates  Process: 1. Produce and build snapshots until satisfied 2. Once satisfied, build a release candidate 3. Stage RC, check and verify 4. Once verified, release JavaOne Russia 2012 36
  • 37. Releasing With Artifactory Plugin  Changes versions in build script  Allows choosing a target deploy repository  Creates a VCS tag/branch JavaOne Russia 2012 37
  • 38. Release With Release Candidates DEMO TIME!
  • 39. OOTB Release Management  Pros  Cons > Out of the box > Limited > Supports the “by extensibility the book” > May not fit your release cycle requirements > Supports majority of the tools JavaOne Russia 2012
  • 40. Releasing with Release Candidates  Process: 1. Produce and build snapshots until satisfied 2. Once satisfied, build a release candidate 3. Stage RC, check and verify 4. Once checked, release JavaOne Russia 2012 40
  • 41. Releasing with Release Candidates  Process: 1. Produce and build snapshots until satisfied 3. Stage RC, check and verify 4. Once checked, release JavaOne Russia 2012 41
  • 42. Releasing with Release Candidates  Lots of things can go wrong during one more build  If we won’t build it, we won’t screw it  Revised Process: 1. Produce and build snapshots until satisfied 2. When satisfied, check and verify 3. Once checked, release JavaOne Russia 2012 42
  • 43. Target: Automation  It’s impossible to release frequently with manual procedures > While maintaining quality  Use your binaries storage to release JavaOne Russia 2012 43
  • 44. Automation Flexibility  We Know: We Don’t Know Better  YMMV (great deal)  Write your own release logic  Pre and post build deploy hooks JavaOne Russia 2012 44
  • 45. Flexible Release  Code your release strategy > Versioning scheme > VCS (tagging, branching, commit comments) > Promotion hook (copy/move, comments, status)  Available by REST JavaOne Russia 2012 45
  • 46. Controlling Versioning Scheme  Classic versioning scheme: > Release version › 2.0.3 > Integration version › 2.0.4-SNAPSHOT  YMMV > Write your own strategy for versioning JavaOne Russia 2012 46
  • 47. Example: Promotion of Snapshots  Sometimes the build takes long time…  But that’s the silly reason JavaOne Russia 2012 47
  • 48. Example: Promotion of Snapshots  Choose existing build to become a release  Using REST API without build server  Invoke promotion plugin > Convert to next version > Tag, branch, etc. > Promote (copy/move) JavaOne Russia 2012 48
  • 50. Pluggable Architecture with DSLs  Artifactory is open for user plugins  Simple Groovy DSL  Your code runs inside the server  Uses Public API (PAPI) > Search for artifacts > Search for builds > Copy/move artifacts > Manipulate files › E.g. change versions in descriptors JavaOne Russia 2012
  • 51. Plugin Invocation Options  As a response for various events > Download/Create/Delete > Login > Release  Scheduled  On demand JavaOne Russia 2012 51
  • 52. Plugin Code  Manipulating Version Control Systems JavaOne Russia 2012 52
  • 53. Plugin Code  Manipulating BuildInfo object JavaOne Russia 2012 53
  • 54. Plugin Code  Creating and replacing artifacts JavaOne Russia 2012 54
  • 55. Calling REST API With CURL JavaOne Russia 2012 55
  • 56. Calling REST API With CURL http://repo-demo:8080/ artifactory/api/plugins/ build/promote/snapshotToRelease/ gradle-multi-example/1? params=snapExp=d14| targetRepository=gradle-release- local JavaOne Russia 2012 56
  • 57. Calling REST API With CURL http://repo-demo:8080/ Artifactory server artifactory/api/plugins/ build/promote/snapshotToRelease/ gradle-multi-example/1? params=snapExp=d14| targetRepository=gradle-release- local JavaOne Russia 2012 57
  • 58. Calling REST API With CURL http://repo-demo:8080/ Artifactory server artifactory/api/plugins/ Plugins API build/promote/snapshotToRelease/ gradle-multi-example/1? params=snapExp=d14| targetRepository=gradle-release- local JavaOne Russia 2012 58
  • 59. Calling REST API With CURL http://repo-demo:8080/ Artifactory server artifactory/api/plugins/ Plugins API build/promote/snapshotToRelease/ Plugin name gradle-multi-example/1? params=snapExp=d14| targetRepository=gradle-release- local JavaOne Russia 2012 59
  • 60. Calling REST API With CURL http://repo-demo:8080/ Artifactory server artifactory/api/plugins/ Plugins API build/promote/snapshotToRelease/Plugin name gradle-multi-example/1? Build name and number params=snapExp=d14| targetRepository=gradle-release- local JavaOne Russia 2012 60
  • 61. Calling REST API With CURL http://repo-demo:8080/ Artifactory server artifactory/api/plugins/ Plugins API build/promote/snapshotToRelease/ Plugin name gradle-multi-example/1? Build name and number params=snapExp=d14| versioning scheme targetRepository=gradle-release- local JavaOne Russia 2012 61
  • 62. Calling REST API With CURL http://repo-demo:8080/ Artifactory server artifactory/api/plugins/ Plugins API build/promote/snapshotToRelease/ Plugin name gradle-multi-example/1? Build name and number params=snapExp=d14| versioning scheme targetRepository=gradle-release- local Target repository for release JavaOne Russia 2012 62
  • 63. Recap: Promotion of Snapshots  Choose existing build to become a release  Using the REST API without building  Invoking the promotion plugin > Convert to next version > Tag, branch, etc. > Promote (copy/move) JavaOne Russia 2012 63
  • 64. Release by Snapshot Promotion DEMO TIME!
  • 65. 4 Commandments of DevOps  Automate everything  Version everything  Trace everything  Report/Log/Feed back everything Designed by Jessica Allen on Dribbble.com JavaOne Russia 2012 65
  • 66. 4 Commandments of DevOps  Automate everything  Version everything  Trace everything  Report/Log/Feed back everything Designed by Jessica Allen on Dribbble.com JavaOne Russia 2012 66

Editor's Notes

  1. Attention deficit disorderСиндром дефицита внимания
  2. Mention smart artifact/library manager
  3. Freedom of choice for developers, no lockinopensource
  4. Bill Of Materials
  5. Show proxyingP2
  6. Let’s admitit, maybe I shouted, but we are all scared to death
  7. Choose your deployment repositories - independently of VCS, build tool, etc.
  8. Callback -> plugin?
  9. DevOps Crest
  10. DevOps Crest