Continuous Integration Build Server¶
The following section is both for internal reference for the build server used by the Niftools team. We encourage developers to build their own; it provides a fast feedback loop, encourages you to run test and fix them when they get broken. We use jenkins as our build server
Installed Plug-ins
- EnvInject Plugin : Used to inject env variables generated by Buildenv
- Git Client & Git Plugins : Used to grab repo
- Hudson Build-publisher Plugin : Pre-installed
- Jenkins Cobertura Plugin : Used to publish coverage reports
- Optional Plug-ins
- IRC Plugin : IRC bot which allows you trigger builds remotely
Project Name
blender_nif_plugin
Git Repository
git://github.com/niftools/blender_nif_plugin.git
Branches
develop
Build Triggers
Poll SCM
Build Periodically
Inject Environment variables
..<path_to_jenkins>/.jenkins/workspace/bin/blender.properties
Build Steps¶
Build
> cd install
> DEL *.zip
> makezip.bat
Unit Test
> cd testframework
> blender-nosetests.bat
--with-xunit
--xunit-file=reports\unit.xml
--cover-xml
--cover-package=io_scene_nif unit
Integration Test
> cd testframework
> testframework\blender-nosetests.bat
--with-xunit
--xunit-file=testframework\reports\integration_test.xml
--cover-package=io_scene_nif
--cover-xml-file=testframework\reports\integration_test_coverage.xml
testframework\integration
Nightly
> cd install
> ren *.zip blender_nif_plugin_%BUILD_NUMBER%_%BUILD_ID%.zip
> xcopy /K /F "*.zip" "%build_folder%\blender_nif_plugin\nightly\"
Post Build Actions¶
Publish Cobertura Coverage reports
testframework/reports/*.xml
Publish XUnit test reports
testframework/reports/*.xml