<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jenkins configuration &#8211; Best DevOps</title>
	<atom:link href="https://www.bestdevops.com/tag/jenkins-configuration/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bestdevops.com</link>
	<description>Lets Learn, Do it &#38; Share! Thats a Best DevOps!!!</description>
	<lastBuildDate>Tue, 13 Oct 2026 00:09:59 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>Jenkins Configuration as Code (JCasC): Simplifying Jenkins Management for Admins and Developers</title>
		<link>https://www.bestdevops.com/jenkins-configuration-as-code-eases-dev-and-admin-woes/</link>
					<comments>https://www.bestdevops.com/jenkins-configuration-as-code-eases-dev-and-admin-woes/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Mon, 08 Oct 2018 06:03:09 +0000</pubDate>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[DevOps Tools]]></category>
		<category><![CDATA[Jenkins]]></category>
		<category><![CDATA[Jenkins configuration]]></category>
		<category><![CDATA[Software Development]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=4471</guid>

					<description><![CDATA[Jenkins Configuration as Code (JCasC) version 1.0 lets administrators and developers define Jenkins configurations in human-readable YAML, store them in version control, and reuse them across multiple instances — reducing manual overhead and bringing software engineering discipline to CI/CD pipeline management.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on reporting originally published at <a href="http://searchsoftwarequality.techtarget.com" target="_blank" rel="noopener">searchsoftwarequality.techtarget.com</a>.</em></p>



<h2 class="wp-block-heading">What Is Jenkins Configuration as Code?</h2>



<p class="wp-block-paragraph">Jenkins has long been the de facto CI/CD system for enterprises, but managing it has traditionally required a dedicated administrator who manually configures Jenkins and its large ecosystem of plugins through verbose XML files. CloudBees addressed this operational burden by releasing version 1.0 of the Jenkins Configuration as Code (JCasC) plugin, which allows administrators and developers to define Jenkins configurations in human-readable YAML instead of XML.</p>



<p class="wp-block-paragraph">With JCasC, teams can:</p>



<ul class="wp-block-list">
  <li>Write Jenkins configuration in plain-text YAML files that are easy to read and edit</li>
  <li>Store those configuration files in a version control system such as Git</li>
  <li>Validate and test configuration changes before applying them</li>
  <li>Reuse a single configuration file to set up multiple Jenkins instances consistently</li>
</ul>



<h2 class="wp-block-heading">Why Configuration as Code Matters for Jenkins</h2>



<p class="wp-block-paragraph">Jenkins supports over 1,400 plugins, and configuring each one manually through the Jenkins UI or raw XML is error-prone, time-consuming, and difficult to audit. JCasC applies the same principles used in modern software development — version control, code review, repeatability — to Jenkins configuration management.</p>



<p class="wp-block-paragraph">Mike Wolf, managing director and modern delivery leader specializing in DevOps and Agile at KPMG, speaking at DevOps World | Jenkins World 2018 in San Francisco, noted that configuration as code removes tedious manual processes and supports more industrialized, scalable use of Jenkins across large organizations. Equally important, it encourages system administrators to adopt the rigor and discipline of the modern software development lifecycle.</p>



<p class="wp-block-paragraph">Mik Kersten, CEO at Tasktop Technologies, framed it as part of a broader industry shift:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Over the past decade, the DevOps community has started taking all of these deployment and configuration steps and thinking of them as a part of the program — as code. This means we can start applying programming concepts, such as immutability, to the entire delivery pipeline.&#8221;</p><cite>— Mik Kersten, CEO, Tasktop Technologies</cite></blockquote>



<h2 class="wp-block-heading">Is YAML Good Enough for Jenkins Configuration?</h2>



<p class="wp-block-paragraph">Not everyone in the DevOps community is convinced that YAML is the right medium for configuration as code. Companies such as Atomist and Pulumi have pushed further, enabling developers to express configuration and infrastructure using real programming languages — JavaScript, TypeScript, and Python — rather than markup or domain-specific languages.</p>



<p class="wp-block-paragraph">Rod Johnson, founder and CEO of Atomist, argued that YAML has inherent limitations when describing complex behaviors:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;There is a role for configuration, but whenever you are describing rich behaviors, code is a lot better. Too often configuration like YAML becomes a bad imperative programming language.&#8221;</p><cite>— Rod Johnson, CEO, Atomist</cite></blockquote>



<p class="wp-block-paragraph">Kohsuke Kawaguchi, then CTO of CloudBees and creator of Jenkins, acknowledged these alternative approaches but defended JCasC&#8217;s pragmatic scope: the plugin is designed to be &#8220;good enough for ordinary users of Jenkins.&#8221; His reasoning is that user adoption itself drives the plugin&#8217;s evolution — as more teams use JCasC, they will push its boundaries and drive further development.</p>



<h2 class="wp-block-heading">The Broader Shift: Infrastructure and Configuration as Real Code</h2>



<p class="wp-block-paragraph">JCasC sits within a broader industry movement toward treating all infrastructure and configuration decisions as software artifacts. Joe Duffy, CEO of Pulumi, described this shift:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>&#8220;Configuration as code has been a key addition in the DevOps toolkit over the past decade, to apply more rigorous software engineering practices to configuration problems across an enterprise infrastructure, from virtual machines and containers to databases and networks.&#8221;</p><cite>— Joe Duffy, CEO, Pulumi</cite></blockquote>



<p class="wp-block-paragraph">Key engineering practices that become possible when configuration is treated as code include:</p>



<ul class="wp-block-list">
  <li><strong>Version control and change history:</strong> Every configuration change is tracked with a commit message and author attribution</li>
  <li><strong>Code review:</strong> Peer review of configuration changes catches errors before they reach production</li>
  <li><strong>Automated CI/CD pipelines:</strong> Configuration files can be tested and deployed through the same pipelines used for application code</li>
  <li><strong>Reusable abstractions:</strong> Shared modules and packages allow teams and communities to standardize common configurations</li>
  <li><strong>Unit testing:</strong> When configuration is expressed in a real programming language, it can be unit tested — something that is difficult or impossible with YAML or XML alone</li>
</ul>



<p class="wp-block-paragraph">Atomist&#8217;s Johnson also pointed out that code written in modern languages benefits from IDE tooling — syntax highlighting, autocomplete, refactoring support, and static analysis — advantages that flat configuration files cannot offer. Modern languages are also inherently more modular and reusable, making it easier to share and maintain configurations at scale.</p>



<h2 class="wp-block-heading">Practical Takeaways for DevOps Teams</h2>



<p class="wp-block-paragraph">Whether a team adopts JCasC&#8217;s YAML-based approach or a full code-first tool like Pulumi, the underlying principle is the same: Jenkins and infrastructure configuration should be managed with the same discipline as application code. For most Jenkins shops, JCasC offers a practical, low-friction entry point:</p>



<ul class="wp-block-list">
  <li>Start by exporting your existing Jenkins configuration to a YAML file using the JCasC plugin</li>
  <li>Commit that file to a Git repository and establish a pull-request review workflow for future changes</li>
  <li>Use the same YAML file to spin up staging or test Jenkins instances for validation before applying changes to production</li>
  <li>As complexity grows, evaluate whether a full programming-language approach (Pulumi, Atomist, or Groovy-based Jenkinsfile pipelines) better fits your team&#8217;s needs</li>
</ul>



<p class="wp-block-paragraph">The DevOps community&#8217;s direction is clear: configuration is too important to manage manually. Tools like JCasC lower the barrier to adopting this discipline without requiring teams to overhaul their existing Jenkins investments.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/jenkins-configuration-as-code-eases-dev-and-admin-woes/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
