Skip to content
Test scripts and build framework for iX projects
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
builds
freenas
iocage Enable ZMQ Feb 19, 2019
prepnode - adding missing explaintion Jul 19, 2018
trueos Allow pkg to work when using other versions of base ABI Feb 28, 2018
.gitignore Adding auto_config.py to the gitignore list. Nov 1, 2017
LICENSE Merge branch 'master' of github.com:iXsystems/ix-tests Jul 9, 2015
Makefile
README.md Update usage example and remove another old example Apr 23, 2018
build.conf.dist
functions.sh
jenkins.sh

README.md

Table of Contents generated with DocToc

Jenkins automation framework for iX projects

The scripts in this repo will allow you to build TrueOS or FreeNAS, either as an automated job from Jenkins or manually. It includes support to build the following:

  • FreeNAS
  • TrueOS
  • iocage

Requirements

A system running TrueOS, with at minimum 16GB of memory. (Building TrueOS packages in a reasonable time works best with 48GB or more)

Recommended:

  • CPU: 8 Cores or more
  • Memory: 16GB (For FreeNAS) 48GB (For TrueOS)
  • Disk: 20GB (For FreeNAS) 200GB (For TrueOS)

TrueOS Download Site

Getting Started

To prep a new system for building, first download the repo and install with the following:

% git clone --depth=1 https://github.com/iXsystems/ixbuild.git
% cd ixbuild
% sudo make jenkins

During the installation you will be asked if you want to make this a "node" or "master", the "master" setup will install and configure Jenkins. If you already have Jenkins installed, using the "node" setup will prep the system to act as new builder for your existing Jenkins service.

Once a new "master" is deployed, you can access your Jenkins interface from:

http://localhost:8180/jenkins/

Setting options for jenkins

A few common options for FreeNAS builds:

export BUILDINCREMENTAL=true
export ARTIFACTONFAIL=yes
export ARTIFACTONSUCCESS=yes

For more options see:

https://github.com/iXsystems/ixbuild/blob/master/build.conf.dist

Build iX projects with jenkins

FreeNAS

sudo /ixbuild/jenkins.sh freenas freenas-11-nightlies

TrueOS

sudo /ixbuild/jenkins.sh trueos-world trueos-current production
sudo /ixbuild/jenkins.sh trueos-pkg trueos-current production
sudo /ixbuild/jenkins.sh trueos-iso-pkg trueos-current production
sudo /ixbuild/jenkins.sh trueos-iso trueos-current production

iocage

sudo /ixbuild/jenkins.sh iocage_pkgs

Use Jenkins FreeNAS or TrueNAS update servers (iX Internal only)

If you are on the iXsystems corporate network you can switch to using the FreeNAS or TrueNAS update servers with the following files:

https://github.com/iXsystems/ixbuild/blob/master/prepnode/truenas-update.conf

https://github.com/iXsystems/ixbuild/blob/master/prepnode/freenas-update.conf

Simply download and rename the file to "update.conf" and upload it to the /data/ directory on your FreeNAS or TrueNAS box. The next time you check for updates it will begin pulling from the Jenkins builds.

You can’t perform that action at this time.