Table of Contents generated with DocToc
- Jenkins build framework for iX projects
- Requirements
- Getting Started
- Use Jenkins FreeNAS or TrueNAS update servers (iX Internal only)
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
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)
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/
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
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
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.