Jenkins. The coded business. open source

Similar documents
Nuances of managed services in a cloud economy

Predictive asset management solution. Increased uptime of progressive cavity pumps

Enabling digitization at the pace of business. Achieve connected DevOps tool chain through Release Orchestration

Integration in a Cloud native world

Wipro s Upstream Services. Driving transformation and reimagining operations for the oil and gas industry

Engineering data clean-up & transformation

The command center of the future

For accelerated due-diligence, reduced compliance costs and enhanced customer experience

Transformation to cloud: assessment imperatives

Why you need analytics for optimized Smart Meter rollouts

The next generation of order management is simple and smart

Enhancing customer value and B2B partnerships through digital orchestration

Disaster Recovery as a Service (DRaaS) How innovation in the Cloud enables disaster recovery at minimal costs

IoT shines light on contract manufacturing supply chain visibility

How to mitigate risk in automation. implementation

The dawn of digital: Quick gains for utilities

Make enterprise BI more responsive to change. analytics

Transforming customer experiences through cognitive commerce

Application of Big Data solution to mining analytics

Robotic Process Automation. Transformation tool for corporate services

Process Monitors power up insights for continuous improvement on shop floors

wipro.com IT4IT & DevOps Transformation The Common Ground

wipro.com VEVATO TM Framework for Managed Life Cycle Testing for Enterprise & Telco Cloud based on SDN/NFV Standards

Hyper automation: Writing the future of content-centric processes. connected customer experience

wipro.com The Making of a Digital Enterprise An Integrated Approach to Enterprise Transformation

Top f ive automation areas for modern HR

Petroleum retailers. Ready to fuel omni-channel for a seamless customer experience.

Is your bank ready to team up with chatbots?

Spirit of Wipro. Be passionate about clients successes. Treat each person with respect. Be global and responsible

Spirit of Wipro. Be passionate about clients successes. Treat each person with respect. Be global and responsible

Integrated operations connect offshore with onshore

wipro.com Transforming the Traditional Retail Industry Landscape

wipro.com SSC 4.0: The Next-Gen Digital Strategy for Shared Service Enterprises

DevOps architecture overview

SMART Mining solution

Digital transformation journey. Move faster Act smarter Predict the future

wipro.com Beyond Business as Usual: Enterprise Architecture for Governments of the Future

wipro.com Examen for SWIFT

wipro.com Productized Analytics: Discovering Opportunities

Need for IT/OT integration in mining to power innovation. mining

wipro.com Why It Makes Business Sense to Stay Invested in Mainframes

Mit Werkzeugen den DevOps Konflikt auflösen

wipro.com Robotics: Taking Automation to the Next Level in Capital Markets

What's next in healthcare analytics

Wipro Energy Trading and Risk Management (ETRM) services. Value maximization through best in class talent, practices and client partnership

Alexa comes to the IT service desk: Are businesses ready?

EXTENDING YOUR SERVICE LANDSCAPE TO API

Bluemix Overview. Last Updated: October 10th, 2017

PLATFORM CAPABILITIES OF THE DIGITAL BUSINESS PLATFORM

wipro.com Are You Doing Enough to Plug Revenue Leaks in Your Manufacturing Process?

WHITE PAPER. Getting started with Continuous Integration in software development. Amruta Kumbhar, Madhavi Shailaja & Ravi Shankar Anupindi

DEVELOPMENT TOOLCHAIN ON STEROIDS MICHAEL KOLB

DevOps KANOKWATT SHIANGJEN COMPUTER SCIENCE SCHOOL OF INFORMATION AND COMMUNICATION TECHNOLOGY UNIVERSITY OF PHAYAO

Middleware Modernization: lay the foundation to your digital success

DevOps E m p o w e r Q u a l i t y A s s u r a n c e b e n e f i t s f o r y o u r p r o j e c t s

DevOps E m p o w e r Q u a l i t y A s s u r a n c e b e n e f i t s f o r y o u r p r o j e c t s

Building Microsoft Cloud Solutions: A DevOps Perspective

Microsoft FastTrack For Azure Service Level Description

SAGE TECHNOLOGY CHECKLIST

INTRODUCTION AUX APPLICATIONS CLOUD NATIVE AVEC PIVOTAL READY SYSTEM

ADVANTAGE YOU. Drive TCO* reduction through Infosys TIBCO solutions

CloudShell Pro. Self-Service Sandbox Environments for Physical, Virtual, and Hybrid-Cloud D ATA SHEET. The Need for Cloud Sandboxing

Microservices + DevOps + Oracle Cloud = A Bright Future. Sai Janakiram Penumuru Chief Technologist & Oracle ACE Director

Bitnami Stacksmith. What is Stacksmith?

Fueled with ALM Octane

Getting ready for ALM Octane

Atelier App Days: Comment utiliser IBM Bluemix pour développer vite et efficacement des apps innovantes?

JOURNEY TO AS A SERVICE

Integrating Configuration Management Into Your Release Automation Strategy

SIMPLIFYING BUSINESS ANALYTICS FOR COMPLEX DATA. Davidi Boyarski, Channel Manager

DATASHEET COLLABNET TEAMFORGE

Transforming large scale Software portfolio with Containers and Microservices at the speed of DevOps

Dynamic App Services in Containers PRESENTED BY:

Robotic Process Automation

FUJITSU Cloud Service K5 "GitHub Enterprise" Introduction

Customer Challenges SOLUTION BENEFITS

Tackling Tax-time Woes with a Robust and Secure Compliance Solution

Today s businesses are complex organizations that must be agile across highly competitive global Agile Software Framework (DevOps):

Fortune 10 Company Uses DevOps to Drive Efficiency. Transforming a Generations-old Approach with Chef Automate and Habitat

International Shipment Booking System

DRAFT ENTERPRISE TECHNICAL REFERENCE FRAMEWORK ETRF WHITE PAPER

ENGINEERED SYSTEMS: TOMORROW S ANSWER TO RUN-THE-BUSINESS AND TRANSFORMATION

DATASHEET COLLABNET TEAMFORGE

ez Platform Cloud A fully-packaged CMS PaaS solution providing the infrastructure and tools to build and manage your content-centric projects

The Oracle DevOps Portfolio

Applicazioni Cloud native

The Challenge: Balancing Change and Control of Continuous Delivery at Scale

Datasheet. CollabNet TeamForge Version Control

FUJITSU Cloud Service K5 "GitHub Enterprise" Introduction

Delivering intent driven IT

Attaining True Agility Through Continuous Integration

The Mobile Dozen. 12 Vital Considerations to help build the Business Case for a Mobile Application Platform

Trevor Quinn PaaS and DevOps Practice Lead, North America Red Hat Consulting

What s new on Azure? Jan Willem Groenenberg

IBM Cloud White Paper. How to get the benefits of cloud behind your firewall: IBM Cloud Private

Continuous Integration and Delivery. Services Catalog

How Cisco IT Developed a Self-Service Model for Build and Deploy

Changes in the Microsoft World

A Reference Architecture for Hybrid Integration. Peter Broadhurst Senior Technical Staff Member for IBM App Connect

Blockchain for corporate actions disruptions on

Transcription:

Jenkins The coded business open source

When a large banking services provider was faced with a DevOps muddle, streamlining the processes and decentralization of tasks helped them simplify their DevOps platform. This resulted in considerable reduction (around 20%) of platform maintenance overheads. In times of agile development, DevOps has a vital role to play. While there is no single tool which can address all business and development issues, there are potential approaches that can streamline the automation of these tasks. As enterprises grow, mundane tasks can become maintenance nightmares. Hence, there is a pertinent need to optimize existing DevOps platforms to sustain the organization s business velocity. The Jenkins approach will bring agility into pipeline management by allowing businesses to create their own Jenkinsfile for the pipeline plugin. This will help them manipulate it exactly the way they want to. Pipelines evolve during the project lifecycle and have to be managed by operations teams in collaboration with development teams. It is a continuous process which quickly becomes complex as the number of dependencies for a project increase and as the code base grows considerably over a period of time. Jenkins has introduced Jenkinsfile which can be treated as a make file for pipeline creation and execution, similar to pom file for a Maven project. All jobs that are required to be executed for a given project can be coded into this Jenkinsfile as Groovy statements. Moreover, this file is versioned along with the project creating the pipeline-as-a-code concept. Pipeline as code The traditional way of implementing a pipeline requires modification or creation of jobs using the Jenkins console or to modify the Jenkins job template through various custom methods. While this method is simpler to use, it comes with certain long-term limitations: Not scalable as the number of projects increase Concerned Ops team needs to define and manage these templates No intuitive direct association or correlation of job definitions with the respective project Jenkins: An overview Jenkins is a widely used open source continuous build and integration tool. It has over a thousand plugins for a variety of supporting tools and technologies and a strong community. In Jenkins, continuous build/integration/testing or deployment-related tasks are designed and developed into a set of Jenkins jobs. A group of jobs associated with a specific delivery lifecycle of a project is called a Pipeline. Pipelines manage the continuous delivery lifecycle of a project. Versioning of these job definitions cannot be in sync with the respective project versions Job definition ownership resides with multiple teams (Dev and Ops) Complexity in pipelines results in manageability of overheads 1

Success factors In the new approach, the pipeline steps are implemented as groovy instructions without the need for explicitly defining the same using the Jenkins console. This approach provides some interesting advantages: Ability to define complex workflow tasks with human interaction capabilities using simple groovy instructions Complete job creation ownership resides with the developers of the project Pipeline lives with the project and hence it is version-able along with the project Better control of pipeline execution at runtime with fine-grained access to each task through groovy instructions Operations team needn t manage these pipelines anymore making the pipeline autonomous Inheritance of pipelines/groovy instructions from external sources such as files/projects However, we have to keep in mind that the new approach is supported only by Jenkins version 1.65 and above and is mandatory to have the Jenkinsfile as part of every project which goes through continuous build and delivery. Jenkinsfile also encapsulates entire pipeline details in the form of Groovy instructions. Furthermore, the naming convention of the Jenkinsfile cannot be changed, and pipeline plugins are mandatory to leverage these features. With the focus on microservice based architecture, the Jenkinsfile approach gives more control and flexibility to design a pipeline. It also provides fine-grained control on the usage of Jenkins slaves against a specific section of pipeline. The Jenkinsfile approach On the project side, availability of a version control system such as Github or SVN is needed. Respective project webhooks are configured to trigger Jenkins jobs. Git user credentials for the corresponding project are configured in Jenkins server by creating a file named Jenkinsfile in the root directory of the project (alongside pom file in java project or app.js file in a node.js project). The pre-requisites for the Jenkins server are the availability of pipeline, multibranch, organization and workflow plugins pre-installed. As part of the build process, once a commit triggers a webhook (e.g., in GitHub), Jenkins job will be triggered. Jenkins will look for the Jenkinsfile in the root folder of the project. Apart from having Jenkinsfile, there is a need to have one of the following Jenkins jobs: Multibranch pipeline: To build multiple branches of a single repository automatically Organization folders: To scan and discover available repositories(e.g.github) associated with an enterprise and automatically creating managed Multibranch Pipeline jobs for each of the projects The enhanced approach Motivation A project that needs to undergo continuous build and integration processes using the Jenkinsfile approach should have the multi-branch pipeline job pre-created in the Jenkins server. This step adds a dependency to the build process and then triggers the build pipeline through the Jenkinsfile. Approach In order to eliminate the dependency of creating a multi-branch step through Jenkins UI, this job is created at runtime through Jenkins API. While creating the main Jenkins job the subsequent build task is passed as a parameter to the main Jenkins job. Any parameters that are required for the subsequent Jenkins jobs are passed as parameters to the main Jenkins job. Within the Jenkinsfile these job parameters can be accessed as ${ParamName} where ParamName is the parameter name passed to the main Jenkins job. 2

Conclusion It is evident that organizations wanting to leverage on the approach can benefit immensely. The Jenkins approach is likely to bring in agility to the pipeline management by allowing businesses to create their own Jenkinsfile for the pipeline plugin and manipulate it exactly the way they want it. This will give more control and options than in the UI alone. Thus, flexibility and isolation that it offers to the project pipelines will help in managing continuous deployments across platforms, and create a structured way of managing DevOps tasks in a complex environment. Wipro s OpenApp platform leverages the Jenkinsfile approach to enable pipeline as a code capability to the stacks and services deployed on the platform. About the author Sreekanth Nyamars Lead Architect - Open Source COE, Service Transformation Sreekanth is an Open Source Lead Architect at Wipro. Sreekanth's focus and interests are building solutions through the use of open source technologies, particularly DevOps and PaaS platforms. His experience includes the implementation of integration platform solutions for both large payment service providers and telecom service providers. He is a certified Java Enterprise Architect. 3

Wipro Limited Doddakannelli, Sarjapur Road, Bangalore-560 035, India Tel: +91 (80) 2844 0011 Fax: +91 (80) 2844 0256 wipro.com Wipro Limited (NYSE: WIT, BSE: 507685, NSE: WIPRO) is a leading global information technology, consulting and business process services company. We harness the power of cognitive computing, hyper-automation, robotics, cloud, analytics and emerging technologies to help our clients adapt to the digital world and make them successful. A company recognized globally for its comprehensive portfolio of services, strong commitment to sustainability and good corporate citizenship, we have a dedicated workforce of over 170,000, serving clients across six continents. Together, we discover ideas and connect the dots to build a better and a bold new future. For more information, please write to us at info@wipro.com IND/BRD/JUN2017-MAY2018