I’ve been trying out Enterprise Jenkins on Azure. The inspiration was a webinar, Achieving Continuous Delivery on Microsoft Azure, about the “four quadrants of DevOps maturity”, and how to address the needs of different teams in the delivery pipeline using tools from Azure and Enterprise Jenkins. The webinar includes a demo of a cloud-based Jenkins Pipeline job, and the source code is freely available.
I tried out the demo and got it working with minor changes and a few workarounds. This post is part 1 of a series.
Code Partners hosted the Sydney Jenkins Meetup again this month, and this time it was my turn to present.
I’ve been exploring the new Declarative Pipeline support recently for one of our projects so I wanted to give everyone an overview, how they differ from Scripted Pipelines, and share some of the shortcuts I’d found for building and debugging them.
We’re once again hosting the Jenkins Meetup, at our offices in Sydney and also streaming online, on June 21st at 6:30pm. I’ll be presenting an introduction to Declarative Pipelines. Here’s the blurb from the Meetup page:
Declarative Pipelines are one of the newer features introduced to Jenkins, which allow you to write Pipelines-as-Code without having to use Groovy.
In this demo-based session, Malcolm Groves will introduce Declarative Pipelines, covering the syntax and sections, before building up more stages and steps, adding error handling, branching, and more.
He’ll also demonstrate some of the additional tools you can use to shorten the development and testing of your Pipelines. No prior Pipeline knowledge required!
If you’re in Sydney, come along for a chat and some pizza. If you’re not in Sydney, we’ll be streaming it online.
Long, long ago when I was a student, I knew how to recognise a UNIX system. Sorry: overused in-joke. I’ve been brushing up on Linux (Ubuntu 14.04 on Azure) while doing some ops stuff involving a machine which, on startup, automatically runs a background process as a specific user. A few minutes of research revealed several ways to do this. Probably the technically rigorous option is a Linux service; I found a much easier option that works well for my purposes.
Manually build a Jenkins Pipeline job at least once, if you’ve set up the job to build automatically when a change is pushed to an SCM like Git. I scratched my head for some time about this, checking logs and double-checking configurations before I figured out why. The short answer: RTFM.
Now that everyone’s using continuous integration (CI) a logical move is to apply CI principles to software build automation, not only to source code. The Jenkins Pipeline job was introduced a couple of years ago, and defines a job entirely in Groovy script. There’s an option to include the job definition as a file, Jenkinsfile, in a source code repository; then a change to Jenkinsfile (not only code files) in the repository can trigger a new build. (more…)
Several members of the Code Partners team were at the Sydney DevOpsDays last week.
If you’ve never been, DevOpsDays events are volunteer organised conferences where there are scheduled speakers in the morning, but the afternoon is broken up into what they refer to as Open Spaces. In Sydney there were 3 or 4 Open Space rooms, and each day people would stand up and propose topics. Proposing a topic doesn’t mean necessarily you have to present it, it may be more that you hope other people will also want to have a general discussion on the same topic. Then the attendees get to vote, and the most popular sessions get allocated to rooms. (more…)