What is Jenkins & how it helped Autodesk to take Cloud Initiative & Release Faster with CI/CD pipeline ??

What is Jenkins & how it helped Autodesk to take Cloud Initiative & Release Faster with CI/CD pipeline ??

What is Jenkins ?

Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software. Jenkins can be installed through native system packages, Docker, or even run standalone by any machine with a Java Runtime Environment (JRE) installed.

No alt text provided for this image

What is Jenkins Pipeline?

Jenkins Pipeline (or simply "Pipeline" with a capital "P") is a suite of plugins which supports implementing and integrating continuous delivery pipelines into Jenkins.

continuous delivery (CD) pipeline is an automated expression of your process for getting software from version control right through to your users and customers. Every change to your software (committed in source control) goes through a complex process on its way to being released. This process involves building the software in a reliable and repeatable manner, as well as progressing the built software (called a "build") through multiple stages of testing and deployment.

Pipeline provides an extensible set of tools for modeling simple-to-complex delivery pipelines "as code" via the Pipeline domain-specific language (DSL) syntax .

Why Pipeline ?

Jenkins is, fundamentally, an automation engine which supports a number of automation patterns. Pipeline adds a powerful set of automation tools onto Jenkins, supporting use cases that span from simple continuous integration to comprehensive CD pipelines. By modeling a series of related tasks, users can take advantage of the many features of Pipeline:

  • Code: Pipelines are implemented in code and typically checked into source control, giving teams the ability to edit, review, and iterate upon their delivery pipeline.
  • Durable: Pipelines can survive both planned and unplanned restarts of the Jenkins controller.
  • Pausable: Pipelines can optionally stop and wait for human input or approval before continuing the Pipeline run.
  • Versatile: Pipelines support complex real-world CD requirements, including the ability to fork/join, loop, and perform work in parallel.
  • Extensible: The Pipeline plugin supports custom extensions to its DSL footnote:dsl:[] and multiple options for integration with other plugins.

While Jenkins has always allowed rudimentary forms of chaining Freestyle Jobs together to perform sequential tasks, Pipeline makes this concept a first-class citizen in Jenkins. Building on the core Jenkins value of extensibility, Pipeline is also extensible both by users with Pipeline Shared Libraries and by plugin developers. The flowchart below is an example of one CD scenario easily modeled in Jenkins Pipeline :

Pipeline flow .

Autodesk :

Autodesk is a global leader in 3D design, engineering and entertainment software, committed to helping people imagine, design and make a better world. As the company operates in highly-competitive markets, business success depends on Autodesk delivering cloud-based products on a single platform, adopting subscription-based licensing and digitizing the company .

No alt text provided for this image

Challenge : Support cloud and subscription initiatives with shorter release cycles and more frequent deployments .

Autodesk is a large organization with 8,500+ employees and roughly 4,000 engineers developing and supporting more than 200 desktop, cloud and mobile applications and services. Many of Autodesk’s largest customers require that Autodesk’s cloud products and platform are SOC 2 compliant. Executive support was also essential throughout the initiative to set the right priorities for the CI/CD migration within the product teams . So, it was important that the new solution foster collaboration within engineering, inner-sourcing content and reducing complexity through standardization of our build and deployment infrastructure .

It was essential to build a modern CI/CD solution that provided a great experience to developers, was self-service and gave product teams the control they needed to customize the pipeline. Stopping there would likely lead to partial adoption, so once the solution was in place, the challenge became providing the support and services needed to succeed in migrating 70% or more of the product teams to this solution. Only then would the migration be considered a success. Finally, no DevOps transformation is complete without considering the cultural changes and best practice adoption needed within each product team to take full advantage of that automation.

Solution : Standardize on CloudBees Core, making secure, automated CI/CD pipelines available to a development organization of 4,000 engineers .

First, Autodesk created an Engineering Solutions team managed by Swan and tasked with modernizing the development and deployment solution based on CI/CD methodologies. The team then built a source code solution using GitHub Enterprise and a binary management solution using Artifactory. Next, Autodesk standardized on CloudBees Core for orchestration and began implementing secure, automated Jenkins Pipelines. These pipelines enabled both continuous integration and more frequent deployments with shorter lead times via continuous delivery.

Autodesk ultimately offered a CI Pipeline that consisted of four continuous integration sub-pipelines to support the needs of deploying a product and not just software:

  • CI pipeline for source code that included built-in security and functionality testing .
  • Continuous Learning Content (CLC) pipeline for product learning content (documentation) written using the markdown format .
  • Continuous Localization (CL) pipeline that would automatically localize source code resources or documentation .
  • Continuous Release Note (CRN) pipeline for generating the release notes .

The Director of Engineering Solutions at Autodesk , George Swan says :

“ We’re always marketing and selling the solutions, our support and the results that other teams are achieving and can continue achieving with CloudBees Jenkins.”

Results :

  • Daily deployments achieved .
  • Automated, SOC 2 compliant CD established .
  • Positive feedback from developers and management .
  • Productivity increased up to 10X.

Leaving all these Jenkins has a lot of use case such as : It lowers the Effort of repeated coding, can integrate the individual Jobs, can be synchronized with Slack, Effortless Auditing, Greater data support for project management etc. Also Jenkins supports REST API or SDK to measure success, failure, or time and many more...

That's all from my side, have a wonderful read !!

Thank You Guys :)
??





















要查看或添加评论,请登录

Krushna Prasad Sahoo的更多文章

社区洞察

其他会员也浏览了