diff --git a/.travis.yml b/.travis.yml
index 3e31dd4..a8c5eee 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,11 +1,10 @@
 language: rust
 # sudo is required to enable kcov to use the personality syscall
 sudo: required
+env: CI_SCRIPTS="https://github.com/eldruin/rust-driver-ci-scripts/raw/master"
 
 before_script:
-  - eval git pull --rebase https://github.com/eldruin/ds323x-rs master
-  - eval git log --pretty=oneline HEAD~5..HEAD
-  - export PATH=$HOME/.cargo/bin:$PATH
+  bash <(curl -s $CI_SCRIPTS/global_before_script.sh)
 
 matrix:
   include:
@@ -56,10 +55,10 @@ before_install:
   - rustup self update
 
 install:
-  - bash ci/install.sh
+  bash <(curl -s $CI_SCRIPTS/install.sh)
 
 script:
-  - bash ci/script.sh
+  bash <(curl -s $CI_SCRIPTS/script.sh)
 
 after_script: set +e
 
@@ -69,9 +68,7 @@ cache:
     - /home/travis/.cargo
 
 before_cache:
-  # Travis can't cache files that are not readable by "others"
-  - chmod -R a+r $HOME/.cargo
-  - rm -rf /home/travis/.cargo/registry
+  bash <(curl -s $CI_SCRIPTS/before_cache.sh)
 
 branches:
   only: