-
Notifications
You must be signed in to change notification settings - Fork 2
Jenkins Build Server
There is a Jenkins Build Server located at http://epics-jenkins.isis.rl.ac.uk/.
For information on configuring Jeknins see Adding a new Windows machine to Jenkins.
- Builds EPICS itself and the IOCs
- Runs the unit tests for the BlockServer and the DatabaseServer
- Runs a Python script as a series of unit tests to check the units in all the EPICS db files
- If the above was successful the compiled binaries are made available at
\\isis\inst$\Kits$\CompGroup\ICP\EPICS
- The
ibex_gui
build uses themaster
branch for the IBEX GUI - The
ibex_gui_build_PRs
builds all the PRs for theibex_gui
branch - The Tycho build is run, which is slightly different to building within Eclipse. This can be run locally by running the
build/build.bat
file that is checked out with the client. - The Tycho build also runs the unit tests
- Jenkins additionally runs CheckStyle and shows a fail build if there is an increase
- Jenkins builds will bundle the JRE with the client. The version of the JRE bundled is located at
\\isis\inst$\Kits$\CompGroup\ICP\ibex_client_jre
. This should be updated occasionally. - If successful The builds are output to
\\isis\inst$\Kits$\CompGroup\ICP\Client
, including an installer.
genie_python gets built and put at \\isis\inst$\Kits$\CompGroup\ICP\Client\genie_python
. There is a batch file to do the installation.
The system test are set up to take copies of the other built artefacts and run GUI tests through RCPTT. They first remove the old genie_python and run genie_python_install.bat
.
Next the EPICS build is copied over, the contents of C:\Instrument\Settings\
and C:\Instrument\Var\
removed and start_inst.bat
is run. Finally the GUI is copied over, and runner.cmd
is run to start the RCP Testing Tool tests.
See special notes on configuring Jenkins for the GUI tests.
Pipeline builds are created by adding a Jenkinsfile to you root directory and then pointing Jenkins at your repository.
Defines all the steps there is much documentation on line. Start from a previous file which does something similar and edit. Here is an example in the ibex gui. In it the label is the label of the node on which it is to run. The labels are set by editing the node configuration in jenkins. Everything else should be googleable.
Once this is set up create a new pipeline build in Jenkins.
- In jenkins click "New Item"
- Name the project and select Pipeline
- Under pipeline from SCM select
Git
- Then add the repository url in and the credentials as ISISBuildServer
- Set the branch if needed
This should now build.