How to make Jenkins build NodeJS, Ruby, and Maven on Docker

How To Make Jenkins Build #NodeJS, #Ruby, And #Maven On #Docker  #reactjs #containers #devops

  • Jenkins can speed up repetitive tasks that robots are much better performing and Docker simplifies spinning up VM’s for your application in a very simple and repeatable way.
  • What I’m going to cover here is how to setup your Jenkins server in a Docker container and how to fix some of the limits of the Jenkins official image.
  • While it is nice of Jenkins to offer an official docker image, you’ll quickly run into a few issues if you are doing anything even slightly other than compiling plain Java.
  • For instance, Maven, the popular dependency management tool for Java, is not included in the Docker container.
  • You’ve learned to create a Jenkins Docker-container that’s ready to run jobs for Java, Ruby and NodeJS projects.

Setup your Jenkins server in a Docker container and fix some of the limits of the official image I discovered so you can get up and building faster.

30 January 2017 on docker, nodejs, jenkins, ci

TL;DR see the final GitHub repo

I thought I’d share with you how we are increasing our productivity here at Quantum Mob. When you are a small team you have to do more with less. Two of the greatest weapons we use to slice overhead to confetti are Jenkins and Docker. Jenkins can speed up repetitive tasks that robots are much better performing and Docker simplifies spinning up VM’s for your application in a very simple and repeatable way. What I’m going to cover here is how to setup your Jenkins server in a Docker container and how to fix some of the limits of the Jenkins official image. Let’s get you up and building faster. Don’t worry, before I get into the thick of it I’ll provide a little background about Docker & Jenkins for those that haven’t had much chance to play with them.

Docker is the most popular containerization platform. Containerization helps by describing everything need to get an app running. OS binaries, all the software dependencies you need to install, environment variables… absolutely everything. Think a lighter virtual machine on steroids with your application pre-installed. No more head scratching wondering why it runs perfectly on your machine but not in DEV. No more hours of debugging only to discover the version of node or java are different locally. You build it and it runs the same everytime, everywhere.

Here…

How to make Jenkins build NodeJS, Ruby, and Maven on Docker