diff --git a/.jenkins.d/00-deps.sh b/.jenkins.d/00-deps.sh
new file mode 100755
index 0000000..7f312a3
--- /dev/null
+++ b/.jenkins.d/00-deps.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+set -x
+set -e
+
+JDIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
+source "$JDIR"/util.sh
+
+[[ -n $NODE_LABELS ]] || exit 0
+
+if has OSX $NODE_LABELS; then
+    brew update
+    brew upgrade
+    brew install boost pkg-config cryptopp
+    brew cleanup
+fi
+
+if has Ubuntu $NODE_LABELS; then
+    sudo apt-get update -qq -y
+    sudo apt-get -qq -y install build-essential pkg-config
+    sudo apt-get -qq -y install libcrypto++-dev
+
+    if has Ubuntu-12.04 $NODE_LABELS; then
+        sudo apt-get install -qq -y libboost1.48-all-dev
+    else
+        sudo apt-get install -qq -y libboost-all-dev
+    fi
+fi
diff --git a/.jenkins.d/10-ndn-cxx.sh b/.jenkins.d/10-ndn-cxx.sh
new file mode 100755
index 0000000..2af7d6a
--- /dev/null
+++ b/.jenkins.d/10-ndn-cxx.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+set -x
+set -e
+
+pushd /tmp >/dev/null
+
+INSTALLED_VERSION=$((cd ndn-cxx && git rev-parse HEAD) 2>/dev/null || echo NONE)
+
+sudo rm -Rf ndn-cxx-latest
+git clone --depth 1 git://github.com/named-data/ndn-cxx ndn-cxx-latest
+LATEST_VERSION=$((cd ndn-cxx-latest && git rev-parse HEAD) 2>/dev/null || echo UNKNOWN)
+
+if [[ $INSTALLED_VERSION != $LATEST_VERSION ]]; then
+    sudo rm -Rf ndn-cxx
+    mv ndn-cxx-latest ndn-cxx
+else
+    sudo rm -Rf ndn-cxx-latest
+fi
+
+sudo rm -Rf /usr/local/include/ndn-cxx
+sudo rm -f /usr/local/lib/libndn-cxx*
+sudo rm -f /usr/local/lib/pkgconfig/libndn-cxx*
+
+pushd ndn-cxx >/dev/null
+
+./waf configure -j1 --color=yes --without-osx-keychain
+./waf -j1 --color=yes
+sudo ./waf install -j1 --color=yes
+
+popd >/dev/null
+popd >/dev/null
diff --git a/.jenkins.d/20-build.sh b/.jenkins.d/20-build.sh
new file mode 100755
index 0000000..5a04b56
--- /dev/null
+++ b/.jenkins.d/20-build.sh
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+set -x
+set -e
+
+sudo rm -Rf /usr/local/include/ndn-group-encrypt
+sudo rm -f /usr/local/lib/libndn-group-encrypt*
+sudo rm -f /usr/local/lib/pkgconfig/ndn-group-encrypt*
+
+# Cleanup
+sudo ./waf -j1 --color=yes distclean
+
+# Configure/build in release mode
+./waf -j1 --color=yes configure
+./waf -j1 --color=yes build
+
+# Cleanup
+sudo ./waf -j1 --color=yes distclean
+
+# Configure/build in debug mode
+./waf -j1 --color=yes configure --debug
+./waf -j1 --color=yes build
+
+# Cleanup
+sudo ./waf -j1 --color=yes distclean
+
+# Configure/build in optimized mode with tests
+./waf -j1 --color=yes configure --with-tests
+./waf -j1 --color=yes build
+
+# Install
+sudo ./waf install -j1 --color=yes
+sudo ldconfig || true
diff --git a/.jenkins.d/30-tests.sh b/.jenkins.d/30-tests.sh
new file mode 100755
index 0000000..c04b121
--- /dev/null
+++ b/.jenkins.d/30-tests.sh
@@ -0,0 +1,13 @@
+#!/usr/bin/env bash
+set -x
+set -e
+
+# Prepare environment
+sudo rm -Rf ~/.ndn
+
+# Run unit tests
+if [[ -n "$XUNIT" ]]; then
+    ./build/unit-tests --log_format=XML --log_sink=build/xunit-report.xml --log_level=all --report_level=no
+else
+    ./build/unit-tests -l test_suite
+fi
diff --git a/.jenkins.d/util.sh b/.jenkins.d/util.sh
new file mode 100644
index 0000000..81c8931
--- /dev/null
+++ b/.jenkins.d/util.sh
@@ -0,0 +1,9 @@
+has() {
+    local p=$1
+    shift
+    local x
+    for x in "$@"; do
+        [[ "${x}" == "${p}" ]] && return 0
+    done
+    return 1
+}
