Refactor: JJB code
[ci-management.git] / jjb / ci-management / ci-docker.yaml
index 9101671..ef5d7d3 100644 (file)
@@ -1,71 +1,43 @@
 ---
-- ci_docker_common: &ci_docker_common
-    # Defines common ci-docker configuration
+# Job configurations for base docker build images
+
+# This macro factors out common configuration
+- _ci_docker_common: &ci_docker_common
     name: ci-docker-common
     # git repo
     project: ci-management
     # maven settings file has docker credentials
     mvn-settings: ci-management-settings
     # build every Saturday
-    cron: 'H H * * 6'
+    cron: "H H * * 6"
     # use host network to clone from our gerrit
-    docker-build-args: '--network=host'
-    # default to YAML
+    docker-build-args: "--network=host"
+    # get tag from YAML
     container-tag-method: yaml-file
+    # name key is overridden by project template
+    # Jenkins job prefix
+    project-name: "{project}-{name}"
+    # Docker image name
+    docker-name: "{name}"
+    # Directory with Dockerfile
+    docker-root: "docker/{name}"
+    # Limit build trigger to appropriate files
+    gerrit_trigger_file_paths:
+      - compare-type: REG_EXP
+        pattern: "docker/{name}/.*"
+    # Includes verify and merge jobs
     jobs:
-      - '{project-name}-gerrit-docker-jobs'
+      - "{project-name}-gerrit-docker-jobs"
+    # Only build master branch
     stream:
       - master:
           branch: master
 
-- project:
-    <<: *ci_docker_common
-    name: bldr-alpine3
-    project-name: '{project}-{name}'
-    docker-name: '{name}'
-    docker-root: 'docker/{name}'
-    gerrit_trigger_file_paths:
-      - compare-type: REG_EXP
-        pattern: 'docker/{name}/.*'
-    jobs:
-      - '{project-name}-gerrit-docker-jobs'
-
-- project:
-    <<: *ci_docker_common
-    name: bldr-debian-python
-    project-name: '{project}-{name}'
-    docker-name: '{name}'
-    docker-root: 'docker/{name}'
-    gerrit_trigger_file_paths:
-      - compare-type: REG_EXP
-        pattern: 'docker/{name}/.*'
+# Each project name is a subdirectory in ci-management/docker
+# with a Dockerfile and a container-tag.yaml file
 
+# This image is deprecated, projects should move to Ubuntu 18
+# TODO remove entirely
 - project:
-    <<: *ci_docker_common
     name: bldr-ubuntu16-c-go
-    project-name: '{project}-{name}'
-    docker-name: '{name}'
-    docker-root: 'docker/{name}'
-    gerrit_trigger_file_paths:
-      - compare-type: REG_EXP
-        pattern: 'docker/{name}/.*'
-
-- project:
-    <<: *ci_docker_common
-    name: bldr-ubuntu18-c-go
-    project-name: '{project}-{name}'
-    docker-name: '{name}'
-    docker-root: 'docker/{name}'
-    gerrit_trigger_file_paths:
-      - compare-type: REG_EXP
-        pattern: 'docker/{name}/.*'
-
-- project:
     <<: *ci_docker_common
-    name: bldr-alpine3-go
-    project-name: '{project}-{name}'
-    docker-name: '{name}'
-    docker-root: 'docker/{name}'
-    gerrit_trigger_file_paths:
-      - compare-type: REG_EXP
-        pattern: 'docker/{name}/.*'