Skip to content

jcalzaretta/jenkins-docker-swarm-plugin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 

Repository files navigation

jenkins-docker-slaves

Launches a single use docker slave container from a given image on docker swarm. This plugin was originally based on the work done here.

This plugin does not use jenkin's cloud api for various reasons, main one being cloud api has a delay in provisioning and is not very well suited for single use throwaway slaves.

##Configuration

configuration

Add this 'cloud' for label completion

label

optional caching

if you would like you use build caching. Compile and launch [this volume driver] (https://github.com/suryagaddipati/jenkins-docker-swarm-plugin/tree/master/src/main/golang/docker-cache-driver). This driver is written to use overlayfs but anyother CoW should work in theory ( PR's welcome :)).

Swarm Scheduling

Plugin attempts to create a slave as soon as build enters the queue. And if requested cpus/memory is not availabe on swarm, it would keep retrying( on a timer) until resources are availble.

caching

Caching is done via docker volume plugin . Driver gets called to create an overlayfs cache volume for each build and once build is done volume gets delted. On delete if there are any new changes to cache they get copied into a new basedir and pointer to baseCache gets updated. You can optionally mount lower base cache dir onto a NFS storage appliance.

Swarm Dashboard

Follow the link on sidebar to view the status of your swarm. What is executing where, what builds are in queue for what resources ect

dashboard

About

Jenkins plugin for docker swarm

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 78.2%
  • Go 21.0%
  • Makefile 0.8%