Jenkins • Continuous Integration • Continuous Delivery • Build Pipelines

Getting Started with Jenkins and Groovy Scripting


In this tutorial we will learn how to get started using Jenkins and the Groovy Scripting language in conjunction with Jenkins. We will discuss the steps required to get up and running quickly and learn some basic techniques we can apply to make the most out of this powerful combination. How does Jenkins integrate with Groovy? The Jenkins platform provides a built in Groovy scripting engine (version 1.8), which allows for additional extensibility of Jenkins and script execution within Jenkins.  Groovy is an object oriented programming language with features similar to Python, Ruby, Perl, and Smalltalk. It is compiled by the Java JVM directly at run time and provides interoperability with Java extensions and libraries. Because Jenkins embeds the language directly into its platform, we can extend Jenkins, create automation, and perform a number […]

READ MORE

Continuous Practices [Logical Extensions of each other]


There has been a lot of buzz around Continuous Delivery practices in recent years. Many technology enthusiasts believe that CD is reserved for Cloud based SaaS companies and has little practical applications in embedded software or desktop solutions. This could not be further from the truth. Applying DevOps principles and Continuous Delivery practices to ensure the software remains in a releasable state provides a huge amount of business value; regardless of the architecture or intended audience. Continuous Delivery is the practice of automating the viability verification of a software project and ensuring that development efforts are always integrated. By applying Continuous Integration (first), hiding unfinished feature work (through feature toggles), and implementing a modular architecture, “HotFixes” can be applied at a moments notice without impact to long running feature development […]

READ MORE

Mastering Jenkins the Book


popular-post

Over the past 11 months now I have been working on drafting and editing phases for an upcoming Continuous Delivery book titled Mastering Jenkins. Its now available for pre-order at: http://www.amazon.com/Mastering-Jenkins-Jonathan-McAllister/dp/1784390895/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=&sr= This work will see a publication date in Late October, Early November time frame. Once the finalization has been completed I’ll return to writing posts on everything from Continuous Integration practices to Continuous Delivery and Deployment implementations.

READ MORE

Managing Stale Binaries in Artifactory


popular-post

OVERVIEW Managing outdated artifacts is a necessary exercise to ensure proper scalability of an artifact management system.  The professional version of Artifactory has plugins which can assist with this but the open source version does not. To prevent the system from growing exponentially Artifacts need to be managed and removed if no longer deemed needed. To facilitate this I typically implement four repositories for each logical division of an artifact type: foo.development foo.production foo.promoted foo.released For this tutorial each repository will have a different retention policy increasing in length as the repository is closer to “released” status. For example: Development – 30 days Production – 90 days Promoted – 180 days Released – Infinity Artifacts deployed into a given repository are promoted up the chain until either released or rejected. […]

READ MORE