From eb1b9543d8bab8c4abfdaab8b32a7e47d0645b0a Mon Sep 17 00:00:00 2001
From: David Hoese <david.hoese@ssec.wisc.edu>
Date: Mon, 6 Jul 2020 16:27:32 -0500
Subject: [PATCH] Separate template jobs into their own files

---
 .gitlab-ci.yml           | 25 ++-----------------------
 helpers/build_image.yaml |  8 +++-----
 helpers/docker_base.yaml | 10 ++++++++++
 helpers/helm_base.yaml   | 12 ++++++++++++
 4 files changed, 27 insertions(+), 28 deletions(-)
 create mode 100644 helpers/docker_base.yaml
 create mode 100644 helpers/helm_base.yaml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 10705cd..cc643cd 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -17,29 +17,8 @@ variables:
 
 include:
   - local: "/helpers/build_image.yaml"
-
-.docker_based_job:
-  image: docker:19.03.1
-  tags:
-    - docker
-    - kubernetes
-  services:
-    - docker:19.03.1-dind
-  before_script:
-    - docker info
-    - docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
-
-
-.helm_based_job:
-  extends: .docker_based_job
-  image: $CICHART_IMAGE
-  before_script:
-    - docker info
-    - docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
-    - shopt -s expand_aliases
-    - alias helm='docker run -t --rm -e HELM_EXPERIMENTAL_OCI="$HELM_EXPERIMENTAL_OCI" -v $(pwd):/apps -w /apps -v ~/.kube:/root/.kube -v ~/.helm:/root/.helm -v ~/.config/helm:/root/.config/helm -v ~/.cache/helm:/root/.cache/helm alpine/helm:3.2.3'
-    - helm registry login -u ${CI_REGISTRY_USER} -p ${CI_JOB_TOKEN} ${CI_REGISTRY}
-
+  - local: "/helpers/docker_base.yaml"
+  - local: "/helpers/helm_base.yaml"
 
 build ci:
   stage: .pre
diff --git a/helpers/build_image.yaml b/helpers/build_image.yaml
index 94c031d..f6d3e95 100644
--- a/helpers/build_image.yaml
+++ b/helpers/build_image.yaml
@@ -10,17 +10,15 @@
 #   variables:
 #     IMAGE_NAME: "cspp-geo-grb"
 #     IMAGE_DIR: "cspp_geo_grb"
+include:
+  - local: "/helpers/docker_base.yaml"
 
 .build_image:
+  extends: .docker_based_job
   variables:
     IMAGE_NAME: ""
     IMAGE_DIR: ""
   stage: build image
-  tags:
-    - docker
-    - kubernetes
-  before_script:
-    - docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
   script:
     - image_url="${CI_REGISTRY_IMAGE}/${IMAGE_NAME}"
     - if [ -z "$CI_COMMIT_TAG" ]; then
diff --git a/helpers/docker_base.yaml b/helpers/docker_base.yaml
new file mode 100644
index 0000000..10c7389
--- /dev/null
+++ b/helpers/docker_base.yaml
@@ -0,0 +1,10 @@
+.docker_based_job:
+  image: docker:19.03.1
+  tags:
+    - docker
+    - kubernetes
+  services:
+    - docker:19.03.1-dind
+  before_script:
+    - docker info
+    - docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
diff --git a/helpers/helm_base.yaml b/helpers/helm_base.yaml
new file mode 100644
index 0000000..49fa7d9
--- /dev/null
+++ b/helpers/helm_base.yaml
@@ -0,0 +1,12 @@
+include:
+  local: "/helpers/docker_base.yaml"
+
+.helm_based_job:
+  extends: .docker_based_job
+  image: $CICHART_IMAGE
+  before_script:
+    - docker info
+    - docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
+    - shopt -s expand_aliases
+    - alias helm='docker run -t --rm -e HELM_EXPERIMENTAL_OCI="$HELM_EXPERIMENTAL_OCI" -v $(pwd):/apps -w /apps -v ~/.kube:/root/.kube -v ~/.helm:/root/.helm -v ~/.config/helm:/root/.config/helm -v ~/.cache/helm:/root/.cache/helm alpine/helm:3.2.3'
+    - helm registry login -u ${CI_REGISTRY_USER} -p ${CI_JOB_TOKEN} ${CI_REGISTRY}
-- 
GitLab