diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f8d34a0816c2a20df4c3392bbdffcab5c8af3caa..ae27e65076b969a93fba02e43b411f5b818dc27a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,5 +1,10 @@
 image: ${DEVOPS_REGISTRY}usgs/centos:latest
 
+cache:
+  paths:
+    # cache pip installed dependencies, see PIP_CACHE_DIR variable below
+    - .cache/pip
+
 stages:
   - test
   - integration
@@ -9,6 +14,7 @@ stages:
 variables:
   CI_REGISTRY: ${CODE_REGISTRY}
   CI_REGISTRY_IMAGE: ${CODE_REGISTRY_IMAGE}
+  PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
   TRIVY_VERSION: "0.11.0"
   # docker variables
   DOCKER_DRIVER: overlay2
@@ -61,7 +67,6 @@ variables:
     - build
 
 .check_code:
-  cache: {}
   image: ${DEVOPS_REGISTRY}usgs/conda:latest
   script:
     - export PYTHON_VERSION=${PYTHON_VERSION:-3.8}
@@ -99,8 +104,7 @@ variables:
     - swarm
 
 .deploy-library:
-  extends:
-    - .deploy
+  cache: {}
   image: "docker:stable-git"
   script:
     - PREFIX_LENGTH=${#REQUIRED_PREFIX};
@@ -116,16 +120,13 @@ variables:
     - git checkout "${CI_COMMIT_REF_NAME}" || git checkout -b "${CI_COMMIT_REF_NAME}";
     - git pull --ff-only "${CI_REPOSITORY_URL}" "${CI_COMMIT_REF_NAME}";
   stage: deploy
+  tags:
+    - deploy
+    - swarm
   variables:
     APP_DEPLOY_DIR: '/geomag/geomag-algorithms'
     REQUIRED_PREFIX: '/geomag'
 
-.mage:
-  variables:
-    DATA_HOST: "cwbpub.cr.usgs.gov"
-    DATA_PORT: "2060"
-    DATA_TYPE: "edge"
-
 .staging:
   only:
     - master@ghsc/geomag/geomag-algorithms