Jenkins : CloudFoundry Warden Plugin

Warden is a framework that allows you to spawn containers in milliseconds and programmatically control resource isolation including memory, bandwidth, disk, mounts, ports, processes and other things.

Warden is not only used for CloudFoundry production environment by Service and Dea, it’s also propagated to CloudFoundry Open Source Software (OSS) platform and deeply integrated with Jenkins to work ubiquitously with each Jenkins job for CloudFoundry.

The CloudFoundry Warden Plug-in is a Jenkins plug-in to construct the bridge between Jenkins Job and Warden as well as knock-down the barrier on using Warden to implement the job for Warden container, that's used well on CI system of CloudFoundry.

Environment preparation

Currently, this plugin is not responsible for any Warden run-time installation which will be taken into consideration in the future's release. For Warden environment preparation, it's good to take HOW-TO for reference.

Environment variables

There have some necessary variables to be defined as Jenkins Slave's environment variable to match Warden run-time requirement.

  • VCAP_RUBY19, the ruby path
  • WARDEN_REPL_V2, the warden command

Screenshot

  • To create a warden container
  • To copy a file from host into warden container
  • To run some script in the warden container
  • To copy some files out of warden container for host using

Rlease Notes

Version 0.1 (18/01/2013)

  • Warden container creation
  • Mount Points
  • Ignore Password
  • Set limitation for Disk, Memory and Bandwidth
  • Grace Time
  • Copy-in & Copy-out
  • Warden Script execution