Skip to content

Files

This branch is 5554 commits behind cvmfs/cvmfs:devel.

ci

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Aug 31, 2015
Jun 29, 2017
Oct 9, 2017
Feb 10, 2016
Jul 30, 2018
Aug 31, 2015
Jan 13, 2016
May 2, 2016
Aug 14, 2018
Feb 12, 2016
Jan 25, 2017
Jun 15, 2015
Oct 21, 2013
May 15, 2017
Jan 22, 2015
May 15, 2017
Feb 10, 2015
Sep 26, 2016
Jun 26, 2015
Sep 18, 2017
Sep 19, 2017

CernVM-FS specific Continuous Integration Scrips

This directory contains build scripts for CernVM-FS and its related packages. They are targeted to be used for continuous integration systems like Jenkins (that is currently used at CERN). However, they shall be portable and therefore not contain any CI system specific logic. For testing purposes those scripts can also be run from the command line.

Build Script Conventions

To simplify the integration with CI systems most of the scripts in this directory follow a naming and parameter convention: ${package_identifier}/${package_type}.sh ${source_location} ${build_location} $@. I.e. scripts are grouped in sub directories according to the packages they build and are named after the package type they are building. Their first and second argument are always absolute paths to the CVMFS git repository's root and an empty build result directory. After that an arbitrary number of optional parameters can follow.

Docker Integration

To simplify the necessary build machine infrastructure we base our builds on Docker. Blueprints for all important build machines are provided in the sub directory docker.

Additional Helper Scripts

  • build_on_docker.sh <source location> <build location> <docker image> <script invocation>
    • lazily builds the specified docker container (name of the docker/) and invokes the build script inside it. Note that you must not specify and for the script to be run!
  • build_package.sh <source location> <build location> <package name>
    • builds the specified package (cvmfs, cvmfs-auto-setup, cvmfs-config, cvmfs-release) for the currently running platform. Note that not all package types are implemented for all package names.

Example Usage for a Docker-based Build

# create a build destination
mkdir /tmp/cvmfs_build

# invoke the build script (assuming $PWD = git repository root)
ci/build_on_docker.sh $(pwd) /tmp/cvmfs_build el6 build_package.sh cvmfs