TubeTK/Dashboard Scripts: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
No edit summary
No edit summary
Line 10: Line 10:
== Assumptions ==
== Assumptions ==


1. The top-level dashboard directory is at "~/src/dashboards"  
1. The top-level dashboard directory is at "~/src/dashboards".
This tutorial will help you create directory structure with the following hierarchy
This tutorial will help you create directory structure with the following hierarchy
   ~/src/dashboards/TubeTK
   ~/src/dashboards/TubeTK
Line 26: Line 26:
* This tutorial assumes you have some knowledge of [http://cmake.org/cmake/help/cmake-2-8-docs.html CMake] and [http://cmake.org/cmake/help/ctest-2-8-docs.html CTest]
* This tutorial assumes you have some knowledge of [http://cmake.org/cmake/help/cmake-2-8-docs.html CMake] and [http://cmake.org/cmake/help/ctest-2-8-docs.html CTest]


== Checkout a new TubeTK for your dashboard ==
== Commands ==


Go to the top level of your dashboard clients
Go to the top level of your dashboard clients
  cd ~/src/dashboards
  cd ~/src/dashboards


Get a copy of all dashboard scripts, include some example scripts
Get a copy of all dashboard scripts, include some example scripts:
  git clone -b dashboard http://tubetk.org/TubeTK.git TubeTK_Dashboards
  git clone -b dashboard http://tubetk.org/TubeTK.git TubeTK_Dashboards


The following script will be used to update and launch your dashboard client every night.   
The following script will be used to update and launch your dashboard client every night.   
WINDOWS: Use the corresponding .bat file if you are doing this on Windows
WINDOWS: Use the corresponding .bat file if you are doing this on Windows:
  cp TubeTK_Dashboards/EXAMPLE_TubeTK_Nightly.sh TubeTK_Nightly.sh
  cp TubeTK_Dashboards/EXAMPLE_TubeTK_Nightly.sh TubeTK_Nightly.sh


Setup your machine's parameters as described in the file
Setup your machine's parameters as described in the file:
  vi TubeTK_Nightly.sh
  vi TubeTK_Nightly.sh


Create a specific set of parameters for your dashboard machine
Create a specific set of parameters for your dashboard machine:
  cd TubeTK_Dashboards
  cd TubeTK_Dashboards
  cp EXMPLE_Linux.cmake MyMachine_TubeTK_Nightly.cmake
  cp EXMPLE_Linux.cmake MyMachine_TubeTK_Nightly.cmake
On Windows, copy the corresponding EXAMPLE_Windows.cmake file
On Windows, copy the corresponding EXAMPLE_Windows.cmake file


Setup the parameters as specified in that file
Setup the parameters as specified in that file:
  vi MyMachine_TubeTK_Nightly.cmake
  vi MyMachine_TubeTK_Nightly.cmake


By adding your script to the repo, your dashboard machine can be updated without having to log into it.
By adding your script to the repo, your dashboard machine can be updated without having to log into it:
  git add MyMachine_TubeTK_Nightly.cmake
  git add MyMachine_TubeTK_Nightly.cmake
  git commit -m "ENH: Initial setup for MyMachine"
  git commit -m "ENH: Initial setup for MyMachine"
   
   
Make sure you have the latest copy of the TubeTK_Dashboard directory and then submit your changes to the git repo
Make sure you have the latest copy of the TubeTK_Dashboard directory and then submit your changes to the git repo:
  git pull
  git pull
  git push
  git push


=== Setup a recurrent nightly job ===
=== Setup a recurrent nightly job ===
* On Linux
* On Linux:
  crontab -e
  crontab -e
Add the following line to the crontab, but please change the start minute (20) and the start hour (0) to different values to avoid simultaneous downloads from multiple machines.
Add the following line to the crontab, but please change the start minute (20) and the start hour (0) to different values to avoid simultaneous downloads from multiple machines:
  20 0 * * * /home/me/src/dashboards/TubeTK_Nightly.sh
  20 0 * * * /home/me/src/dashboards/TubeTK_Nightly.sh


* On Windows, use the task scheduler to run your TubeTK_Nightly.bat script.
* On Windows, use the task scheduler to run your TubeTK_Nightly.bat script.

Revision as of 18:58, 14 July 2012

Overview

TubeTK uses a novel configuration-file based method for installing dashboard machines. In general, you will perform an initial download of TubeTK, copy an example configuration file to the level above the TubeTK source, edit that file as appropriate, and then setup cron jobs to call script files that are distributed with TubeTK and that are controlled by your configuration file.

TubeTK's current dashboard is available at: http://open.cdash.org/index.php?project=TubeTK

Tutorial

Assumptions

1. The top-level dashboard directory is at "~/src/dashboards". This tutorial will help you create directory structure with the following hierarchy

 ~/src/dashboards/TubeTK
 ~/src/dashboards/TubeTK-${BUILD_TYPE}

where ${BUILD_TYPE} is one of Release, Debug, RelWithDebInfo, ...

2. The machine being configured is called "MyMachine"

Background

  • You must have CMake 2.8.8 or greater installed to run a TubeTK dashboard system.
  • You must have Qt 4.7 or greater installed to compile TubeTK
  • This tutorial assumes you have some knowledge of CMake and CTest

Commands

Go to the top level of your dashboard clients

cd ~/src/dashboards

Get a copy of all dashboard scripts, include some example scripts:

git clone -b dashboard http://tubetk.org/TubeTK.git TubeTK_Dashboards

The following script will be used to update and launch your dashboard client every night. WINDOWS: Use the corresponding .bat file if you are doing this on Windows:

cp TubeTK_Dashboards/EXAMPLE_TubeTK_Nightly.sh TubeTK_Nightly.sh

Setup your machine's parameters as described in the file:

vi TubeTK_Nightly.sh

Create a specific set of parameters for your dashboard machine:

cd TubeTK_Dashboards
cp EXMPLE_Linux.cmake MyMachine_TubeTK_Nightly.cmake

On Windows, copy the corresponding EXAMPLE_Windows.cmake file

Setup the parameters as specified in that file:

vi MyMachine_TubeTK_Nightly.cmake

By adding your script to the repo, your dashboard machine can be updated without having to log into it:

git add MyMachine_TubeTK_Nightly.cmake
git commit -m "ENH: Initial setup for MyMachine"

Make sure you have the latest copy of the TubeTK_Dashboard directory and then submit your changes to the git repo:

git pull
git push

Setup a recurrent nightly job

  • On Linux:
crontab -e

Add the following line to the crontab, but please change the start minute (20) and the start hour (0) to different values to avoid simultaneous downloads from multiple machines:

20 0 * * * /home/me/src/dashboards/TubeTK_Nightly.sh
  • On Windows, use the task scheduler to run your TubeTK_Nightly.bat script.