I’m going to be giving a talk at PyCon Israel 2017 about Jenkins and Python.
Here are the slides I will be using for that lecture:
I’m going to be giving a talk at PyCon Israel 2017 about Jenkins and Python.
Here are the slides I will be using for that lecture:
Sometimes it may be desireable to create a bash script that prevents other scripts from running in parallel wit it.
One way to do this is to use a lock file.
oVirt’s CI standards have been in use for a while in most oVirt projects and have largely been a success.
These standards have put the control of what the CI system does in the hands of the developers without them having to learn about Jenkins and the tooling around it. The way the standards were implemented, with the “mock_runner.sh” script, also enabled developers to easily emulate the CI system on their own machines to debug and diagnose issues.
From the oVirt infra team’s point of view, the CI standards have removed the need to constantly maintain build dependencies on the Jenkins slaves and also eliminated most of the situations where jobs running on the same slave influenced one another.
The CI standards implementation we have has one shortcoming, it was not particularity fast.
I this post I’m going to describe how to create Zuul-compatible Jenkins jobs and Zuul pipelines to trigger them on code changes in Gerrit.
This is the sixth and final post in a series describing how I’ve used Docker to build a lab setup on my laptop to try out Zuul and check out its various features. Previously I’ve described how to install Jenkins, Gerrit, add the zuul-server and zuul-merger components, link Jenkins to Zuul and show the Zuul graphical status page.
Before we can create Jenkins jobs and Zuul pipelines, we need to create a Gerrit project for everything to work against.
In this post I’m going to describe how I connected Jenkins to my experimental Zuul setup. I’m also going to describe how to build a container to expose the Zuul graphical UI over HTTP.
This post is the fifth in a series of posts describing how I’ve used Docker to build a lab setup on my laptop to try out Zuul and check out its various features. Previously I’ve described how to install Jenkins, Gerrit and add the zuul-server and zuul-merger components.
Zuul communicates with Jenkins by means of the Gearman Plugin.
zuul-merger is a component of Zuul that merges code patches together to emulate the state code will be in once those patches are merged. This post describes how I’ve ran it in a Docker container as part of a lab setup.
This post is the fourth in a series of posts describing how I’ve used Docker to build a lab setup on my laptop to try out Zuul and check out its various features. Previously I’ve described how to install Jenkins, Gerrit and add zuul-server.
To have a useful zuul-merger service, we need to run two services – zuul-merger itself, and an HTTP server to make the code built by zuul-merger available to Jenkins. But first, we need to write a configuration file.
In this post I’m going to describe the various components of Zuul, and how to run zuul-server in a Docker container in a lab setup.
This post is the third in a series of posts describing how I’ve used Docker to build a lab setup on my laptop to try out Zuul and check out its various features. Previously I’ve written about how I’ve started Jenkins and Gerrit to have the necessary services for Zuul to work against.
In order to gain a deep understanding of Zuul and prepare fur running it in production, I came up with a rather complex container layout . If you just want to see what Zuul looks like you can get a single container with everything (including Jenkins and Gerrit) here.
A fully functional Zuul system consists of several components:
In this post I’m going to describe how I quickly brought up Gerrit using Docker in a lab setup, and integrated it with Jenkins.
This post is the second in a series of posts describing how I’ve used Docker to build a lab setup on my laptop to try out Zuul and check out its various features.
Please see the previous post for an explanation of my goals, choice of tools and work done previously.
Since I’m focused on testing Zuul, I did not want to spend too much time setting up Gerrit. Instead I looked for a ready made container image that I could quickly bring up.
Gerrit, Jenkins and the Jenkins Gerrit Trigger Plugin make for a relatively easy way to setup an automated code review system. Using these components, you can have Jenkins run automates tests on code while it is being reviewed in Gerrit.
But as projects grow in complexity and amount of developers, some shortcomings of of this system become apparent as the reviewed code being tested in Jenkins stops reflecting the way it will actually look when merged into the main development branch. This is an issue we came across on oVirt’s CI system.
Looking for a solution, we found Zuul – a tool developed by the OpenStack community when they faced similar issues.
This post is a first in a series of posts describing how I’ve used Docker to build a lab setup on my laptop to try out Zuul and check out its various features.
Working with computers, be it system administration, or software development, as a profession, is a young one. As such, it has many ailments of youth: there is a tendency to lose track of a proper work/life balance, there is rampant professional burnout, there is career euthanasia.
One of the most striking ailments of the computing profession is the lack gender diversity. I have no doubt that having more women practice this profession will benefit it greatly and enhance its contribution to humanity. The few women in this profession, I’ve had the pleasure of meeting in my career, were, with no exception, remarkable and brilliant. I believe improving gender diversity will go a long way in tending other ailments of the profession I’ve mentioned.
So what can we, as veteran practitioners of the computing profession, charged with educating the next generation of practitioners, do to improve sexual diversity on our profession? We can start be telling young people that some of the most important tricks of the trade were dreamed up by woman. We can tell them the story of Grace Hopper.