Adding jobs
If you are a project administrator, you have the permissions to create new jobs. This page details the different types of job available and when they should be used. New jobs can be added by navigating to the project you wish to create the job for and then clicking New Item in the sidebar.
Item Name
When naming your job it is highly recommended to choose a name without
spaces, for example: compile_test
or gcc_483_build
, as the name is included
in the build path. During job configuration a more readable display name can
be chosen, which will be used in the web interface.
Items can be renamed after creation without the loss of build history, so choosing an ideal name initially is not essential.
Freestyle project
The freestyle project is the simplest build type. A freestyle job allows the maximum amount of configuration and targets a specific build configuration. For example, one job may compile and run tests on the GCC 4.8.3 compiler on Linux every night, whereas another might only run static analysis tools after every commit.
For help on configuring freestyle jobs see the freestyle page.
Maven project
Maven projects target Java projects built using the Maven build system. We do not currently support or recommend using the Maven project type.
Pipeline
The Pipeline is a new Jenkins job type with allows the configuration to be stored in the code repository along with a number of other useful features. For new projects, or projects where multiple branches are in use, we would recommend the use of a Pipeline job type. For more details see the Pipeline guide page.
External job
This is a niche job type which allows jobs run outside of Jenkins to be managed. We do not recommend using this project type.
Multi-configuration project
Multi-configuration projects are useful when you have a large number of very
similar jobs. They allow all of the configuration of a standard freestyle
project, but they also allow a job to be built across a user-specified range
of options, e.g. platforms or compilers. In general a sub-item is created
for each combination of ranges; for example, if the compiler range was
gcc, clang
and the operating system range was ubuntu, centos
then four
sub-items would be created.
Generally this type of project should be replaced with a Pipeline job, due to its additional flexibility.
Folder
Adding folders allows you to organise your build jobs into nested structures. For example you may find one folder per library or compiler makes it easier to understand and find your jobs. Jobs can be moved between folders after creation without the loss of history, so folders can be added as the number of jobs grows.
Multibranch Pipeline
The Multibranch Pipeline is an extension of the base Pipeline job which handles the creation of subjobs based on branches in the code repository. For more details see the pipeline guide page.
Copy Existing item
The 'Copy Existing item' options allows you to copy the configuration of an
existing job. To specify another job in your folder, you need to use the syntax foldername/jobname
. In both the foldername
and the
jobname
the item name should be used, rather than the display name.