DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
Building Scalable Real-Time Apps with AstraDB and Vaadin
Register Now

Trending

  • Implementing RBAC in Quarkus
  • Zero Trust Network for Microservices With Istio
  • What Is End-To-End Testing? E2E Testing Tutorial With Examples and Best Practices
  • Generics in Java and Their Implementation

Trending

  • Implementing RBAC in Quarkus
  • Zero Trust Network for Microservices With Istio
  • What Is End-To-End Testing? E2E Testing Tutorial With Examples and Best Practices
  • Generics in Java and Their Implementation
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. Deployment
  4. Jenkins: X or 2.0 ?

Jenkins: X or 2.0 ?

Dig deeper into some of the features from the recently announced Jenkins X, including whether it's an iteration or something brand new.

Oleksii Dzhulai user avatar by
Oleksii Dzhulai
·
Apr. 13, 18 · Presentation
Like (44)
Save
Tweet
Share
47.18K Views

Join the DZone community and get the full member experience.

Join For Free

Image titleJenkins X has become one of the most noticed recent open source announcements.

In this article, I discuss appealing features of the new product which have not been specifically mentioned in documentation.

I recommend reading about the motivation and features if you need a product guide or specs of any kind.


Is It Just a New Hype Tool? What Is so Special About Running Jenkins in Containers?

Kubernetes is the de facto standard for managing containers, distributed applications, and virtual infrastructure. It's offered as a managed service by major public cloud providers and can be installed on-premises. If you build a cloud app today and want it to be portable anywhere, Kubernetes is your choice!

While the ecosystem is huge, it's still very young and is more focused on dealing with "Day 1" challenges, like K8s rollout. It's natural to solve the most pressing issues first. 2018 is predicted to bring more stabilization, integration, and user experience aspects. Today, we think about how to operate on Day 2, how to build something on top, and make developers more productive.

Jenkins X is filling the gap with holistic CI/CD management here.

Is It Just a Rebranding of Jenkins 2.0?  

Jenkins is a tool which was developed long before cloud become the norm and it's definitely not a cloud-native tool, meaning it doesn't have OOTB capability to survive outages, seamless scaling, etc.

Luckily for us, it is extensible. Jenkins X does its magic with Kubernetes plugin, allowing you to forget about provisioning virtual machines or physical servers for slaves; each job uses disposable agents, running in separate containers, which can scale with your cluster. 

With Jenkins X, you get not only K8S pipelines for your apps, but also a very scalable CI/CD solution.

Image title


Can You Install Jenkins for Our Team?

This is the most frequent question from development teams when Kubernetes is presented as a project platform of choice. Migrating major tools means lots of changes for any organization; literally, it affects all major DevOps processes and requires significant learning effort.

Jenkins X is shipped with K8s pipelines, agents, and integrations make migrations to Kubernetes and microservices a way simpler.  

What about Version Control?

Jenkins X is built with GitOps concept in mind. 

Keeping all configurations in version control means better security, DR, and the possibility to apply all SDLC practices to operations tasks.  

Out of the box, you get CI/CD infrastructure configuration saved into Git and your toolkit is continuously follows that principle.

You never get a chance to break this rule due to some urgency and this is by design! 

Building Blocks

Jenkins2.0 - "good old" CI server

Helm- package manager

Draft- dev environment build tool

Monocular- UI for helm repositories

Chartmuseum- helm repository with cloud backends support

Nexus- artifacts repository

Docker registry- container image registry

All of the above are under control of a jx tool and configuration is shipped as a "platform", set of helm charts.

Image title


A Fresh Look at Environments Management

One of the most interesting as for me!

The environment as an entity is controlled by the tool, you can manage lifecycle, promote and configure! You can easily customize, template and reuse it.

GitOps pattern is used and you have one repository for each environment. This is best practice and is driven OOTB by jx.

Helm is used for configuration management. The environment is represented as a helm package and each application is being added as a dependency, while promoted. This approach makes a lot of sense since environment configuration is the least standardized area. Many teams spent lots of time until I came to something similar. You'll get it for free!

Swiss Army Knife CLI

Jx CLI is an entry point to all functionality of the framework.

The most important: it's a key construct, which is widely invoked in CD pipelines. They can be easily played with and debugged directly, any step can be replayed or repeated from CLI. 

Jenkins (software) Kubernetes

Opinions expressed by DZone contributors are their own.

Trending

  • Implementing RBAC in Quarkus
  • Zero Trust Network for Microservices With Istio
  • What Is End-To-End Testing? E2E Testing Tutorial With Examples and Best Practices
  • Generics in Java and Their Implementation

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com

Let's be friends: