diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index af96d417d9bd0ec08cfeb12654af854fb680ac18..b46567e87588c5ead2226418ae15916b2145bf82 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,56 +1,24 @@
+# Usando cache
+
 before_script:
     - apt-get update && apt-get install -y build-essential
 
-# Você pode definir estágios de integração contínua. Estes três estágios
-# abaixo são os mais comuns. A ordem em que aparecem define a ordem de
-# execução. De forma que os 'jobs' marcados como estágio 'build' executarão
-# antes dos jobs 'test', que por sua vez executa antes dos jobs 'deploy'.
-# O estágio seguinte só é executado se todos os jobs do estágio anterior
-# completarem com sucesso.
-# NOTA: ATUALMENTE NÃO EXISTE UMA FORMA DE PASSAR O RESULTADO DE UM ESTÁGIO
-# PARA OUTRO, POR EXEMPLO O ARQUIVO COMPILADO EM 'BUILD' PARA SER TESTADO NO
-# ESTÁGIO 'TEST'. EXISTE UMA SOLUÇÃO PREVISTA PARA O GITLAB 8.4.
-stages:
-    - build
-    - test
-    - deploy
-
 job1:
-    # Aqui aparece a definição sobre de qual estágio o job faz parte. Se
-    # nenhum for especificado, o gitlab assume que o estágio é 'test'.
-    # Repare que o valor foi atribuído na mesma linha, mas poderia ser na
-    # linha de baixo, como é feito na maioria dos casos.
-    stage: build
-    tags:
-        - debian
     script:
-        - echo "Estágio 'build'"
         - make
-
-job2:
-    # Esse job só será executado se todos os jobs do estágio 'build'
-    # terminarem com sucesso.
-    stage: test
+    artifacts:
+        paths:
+            - build/
+    # Todos os arquivos não monitorados pelo git serão 'cacheados',
+    # significando que serão copiados e (potencialmente) reutilizados em
+    # builds futuras.
+    cache:
+        untracked: true
+        # Também é possível utilizar o campo 'paths', como em 'artifacts'.
+        # Muito útil para fazer cache do vendor/ em aplicações rails ou
+        # node_modules/ em aplicações node.
+        # paths:
+        #   - node_modules/
     tags:
         - debian
-    script:
-        - echo "Estágio 'test'"
-        # Como dito, ainda não é possível passar arquivos de um estágio para
-        # outro, por isso o comando abaixo vai falhar.
-        - ./run-test.sh
 
-job3:
-    # Os jobs marcados como 'deploy' são os últimos a serem executados.
-    stage: deploy
-    tags:
-        - debian
-    script:
-        - echo "Estágio 'deploy'"
-        # Aqui você pode fazer upload de algo para um servidor. Para isso
-        # (atualmente) você precisa gerar um par de chaves e colocar a chave
-        # privada em alguma variável que é passada para os scripts
-        # abaixo como variável de ambiente. Defina essa variável em
-        # <projeto>/Settings/Variables. O script deve então salvar essa
-        # variável (chave privada) em um arquivo para poder utilizá-la com
-        # ssh.
-        #- script_que_vai_copiar_para_servidor.sh