Table of Contents
Schedules are used to initiate/trigger builds either non-interactively or manually.
Each build needs a work directory to checkout the artifacts from VCS repository. Following are the rules that Luntbuild uses to construct work directory:
Main Luntbuild work directory is used as a root of all Luntbuild projects.
Each schedule allows you to define its work directory. By default, this directory is a subdirectory named using the project name under Luntbuild's top level work directory.
VCS modules contain source path that is appended after the schedule work directory.
For example if Luntbuild's work directory is /luntbuild-install-dir/work, project name is myproject, schedule subdirectory is myscheduleworkdir, and VCS source path is source, then absolute path of the build's work directory for given schedule is /luntbuild-install-dir/work/myproject/myscheduleworkdir/source.
Why is this important? Because of following reasons:
| The build's work directory can be shared between multiple schedules of the same project. In this case the builds of those schedules use the same work directory, thus saving the disk space. Luntbuild guarantees that builds that share the same work directory cannot be executed at the same time. If first build using the shared work directory starts, all additional builds that share the same work directory are entered to the pending build queue, and they are executed only after currently executing build finishes. |
| If the build's work directory is not shared with other schedules of the same project, contents of the VCS modules for the given project is checked multiple times (to multiple work directories), thus consuming more disk space and possibly taking more time to checkout the contents of the VCS modules. Advantage of this approach is, that builds using different work directories (for the same project) can be executed in parallel. |
Each build also uses its publish directory to store the build artifacts like build log and revision log. Following are the rules that Luntbuild uses to construct publish directory:
Main Luntbuild publish directory is used as a root of all Luntbuild projects.
Project name is used to define subdirectory in the main publish directory.
Schedule name is used to define subdirectory in the project subdirectory.
Build version string is used to create subdirectory in the schedule subdirectory. This subdirectory contains build log build_log.txt, build_log.html, build_log.xml and revision log revision_log.txt, revision_log.html, revision_log.xml, and two subdirectories artifacts and junit_html_report. Subdirectory artifacts can be used by you to store any other additional artifacts, subdirectories junit_html_report is used to store results of JUnit testing.
For example if Luntbuild's publish directory is /luntbuild-install-dir/publish, project name is myproject, schedule name is myschedule, and current build version is myapp-1.2.0, then absolute path of the build's publish directory for given schedule is /luntbuild-install-dir/publish/myproject/myschedule/myapp-1.2.0.
To create a schedule, click on Schedules Tab, and click on New Schedule icon in the upper right corner of the tab's frame.
