The document discusses Barclays' Quantum program for automating build and release processes. It outlines how Quantum aims to log code changes, build code using Jenkins, store builds in Nexus, and automatically deploy builds. Diagrams show how various tools like Sonar, Fortify, and Nexus integrate into the build and release workflows. The document also discusses testing with tools like HexaWise, managing environments with Evolven, and planning with tools like RTC. It describes how Quantum brings these tools and processes together to enable continuous delivery through automated, self-service deployment with no manual touch points.
18. Quantum – Build and Release
Think It
Code It
RRC
Log It
Sonar
Jenkins
Fortify
Store It
Deploy It
RTC
svn/Git
Build It
Nexus
Doxygen
Nolio
19. Quantum Testing
Test It
Think It
Code It
RRC
Log It
Sonar
Jenkins
Fortify
Store It
Deploy It
RTC
svn/Git
Build It
Nexus
Doxygen
Nolio
QC
HexaWise
RTVS/RIT
20. Quantum Environment Management
Test It
Think It
Code It
Log It
Build It
Store It
Deploy It
Operate It
RRC
RTC
svn/Git
Sonar
Jenkins
Fortify
Nexus
Doxygen
Nolio
QC
HexaWise
Evolven
RTVS/RIT
21. Quantum – Joining up the DOTs
Test It
Think It
Code It
Log It
Build It
Store It
Deploy It
Operate It
RRC
RTC
svn/Git
Sonar
Jenkins
Fortify
Nexus
Doxygen
Nolio
QC
HexaWise
Evolven
RTVS/RIT
23. Quantum – The Missing Link
Test It
Think It
RRC
Code It
Log It
Build It
Store
Understand it It
Deploy It
Operate It
RTC
svn/Git
Sonar
Jenkins
Fortify
Nexus
Doxygen
QC
HexaWise
Evolven
RTVS/RIT
24. Quantum – Automated Deployment
Test It
Think It
Code It
Log It
Build It
Store It
Deploy It
Operate It
RRC
RTC
svn/Git
Sonar
Jenkins
Fortify
Nexus
Doxygen
Nolio
QC
HexaWise
Evolven
RTVS/RIT
25. Quantum - Automated Deployment
35 | Barclays presentation title | 30 January 2012
26. Quantum - Automated Deployment
36 | Barclays presentation title | 30 January 2012
27. Quantum Automated No Touch Deployment
37 | Barclays presentation title | 30 January 2012
Integrated into the IDE of choice, eclipse (in this case), Visual Studio, Intellij
Provides traceability from your change to your code. This can then be picked up as part of the build job, and be used to populate a release note. Being able to extract information from your change management system, and version control, to more easily provide feedback regarding the content of a build/release candidate
A centralised master server provides a facility to manage multiple projects/programmes, using RBAC (role based access control), jobs for each application build monitor the version control service, and can be run on one of several slave machines that actually perform the build operations.This allows the application development to build on a suitable schedule, every minute, hourly, nightly, on as soon as your developer commits the change, you decide based on your project needs.In this case we have a developer making changes for the release 1.0.1 version of the app, the build job kicks off automatically, perofrming any/all actions performed as part of the build scriptUnit testingUploading of the release candidates into the DSLAutomatic deployment of the release candidates using the deployment tooling of choice (currently bladelogic, but moving to Nolio)Exteded Analysis Capabilty using Sonar
Static Code analysis using SonarQubeProvides a measure of the quality of your code, against defined standards within the Bank. You can drill down to the code to understand what the issues are, and remediate as necessary.
Reusing generic analysis scripts from GIS, we can perform security vulnerability static analysis of source code.Allowing development teams to remediate secuirity issues earlier in the lifecycle, reducing the impact of identifying issues later as a result of penetration testing, i.e. delaying the release of new features/applications into the estate, missing regulatory milestones, customer expections etc.
Doxygen – automatically document your code, generate standard industry visual diagrams and nomclanture, making it easier for your teams to understand the application(s) and the impact of changes (particularly RtB who may have limited visibility of the development process).
Provides a secure location in which to centrally manageRe-usable ComponentsRelease CandidatesThese release candidates are uploaded as part of the build process, making them available for re-use in other applications or for deployment into particular environments.RBAC provides limited access to artefacts based on
In the first instance we deploy using bespoke mechanisms; in this case, we use ssh to connect to our target environment, and deploy a new version of the application to test.To make deployments consistent we need to adopt the same processes across all environments not just development, bringing the development of the deployment capability into the SDLC. By the same token we can resolve and remediate issues with the deployment mechanism earlier in the lifecycle
Nolio provides the mechanism to develop a deployment capability across multiple environments.Automation Studio provide the facility to visual elaborate your deployment process, defining the sequence of actions that need to be performed, in what order and on what targets, across multiple architectures. Integrations to existing bank tooling such as service now, allows gateway processes to be defined and enforced.
You can also invoke releases via nolio, using the same defined processes, allowing deployments to be managed as part of a project or programme, allowing multiple applications to be deployed automatically into testing and/or production as necessary.
Automated Deployment can then be invoked from the continuous integration and build service, providing a no touch deployment capability.The integration of Nolio into Service Now, provides a capability to run a gateway process to ensure that deployments only happen when change is Approved (which automatically places the change in the correct state)The Defined Change window is open, i.e. date and time.