DevOps in a Regulated and Embedded Environment: Scalability and Resource Concerns

Welcome to the fourth and final post in my series, DevOps in a Regulated and Embedded Environment. In this part, we’ll look at the problems that pop up when the deploy/test environments aren’t virtualizable. I’m assuming that you’ve already read my earlier post on “Git Flow in a Regulated World”. If you haven’t, the short […]

Read more
Infrastructure As Code: Managing Your Chef Code

Managing your code in Chef is just as important as managing your application’s source code. Improper management of your cookbooks will almost guarantee mistakes, frustration and even failure. For the sake of this post, I will assume that you will be able to use git as your SCM. So first, we will set up an […]

Read more
Dynamic Versioning of Maven POM

In a typical CI/CD pipeline, code is build, code is deployed, code is tested. In our specific scenario the code is built through Jenkins and maven on a Jenkins build slave, then the build artifacts are uploaded to an artifact repository. Through an Infrastructure-as-code tool, like Chef, the code is deployed to a test environment […]

Read more
Starting up a Jenkins Clone Safely

Why bother starting Jenkins in neutral? Jenkins can be a dangerous virtual machine to bring up.  This situation arises when I’m recovering one, cloning one, or testing provisioning automation.  The damage one can cause is hard to predict because it depends on exactly what yours does, but I’ll try to paint a couple common pictures […]

Read more
Configuring Gitblit post-commit hooks over SSL

I have now twice spent multiple days trying to get a Gitblit server to communicate with a Jenkins server over SSH. This was done as part of ongoing work to update the Coveros SecureCI product with the goal of properly configuring both tools and a self-signed certificate to enable Gitblit’s post-commit jenkins hook to trigger builds. Given that […]

Read more
Run Headless Selenium Tests From Jenkins

In a previous blog I went over how to set up headless tests on a centos machine; in this blog, I will be going over how to introduce this machine into a continuous integration environment via Jenkins. The first thing that we need to do is install the Xvfb plugin on the Jenkins instance, which […]

Read more
Completing your CD Pipeline for your PHP Project

On my last two posts I went through setting up CI for your PHP project. As promised, this post will walk through the CD pipeline that I setup for the project. The Continuous Integration jobs were a good start, but I wanted to throw in additional testing, on architecture that better mimics production. I created two additional […]

Read more
Filling out your CI Pipeline for Your PHP Project

Last month I started writing about the DevOps pipeline that I built out for a PHP project. Today I plan on filling it out a bit more. What I described last week is what many people consider a full CI Pipeline, executing unit tests, code coverage, and static analysis. I threw in a little more […]

Read more
Hacking Jenkins Header for Temporary Custom Style

I often find myself in a position where I have multiple Jenkins servers that are almost clones of each other. In many cases, this is because I run a “test” Jenkins where we develop jobs, test them, then promote them over to our “prod” Jenkins server. Because the servers look identical, I’m always afraid I might […]

Read more
X