Add job to build container images in metal3 23/19523/7
authorHuy Mai <huy.mai@est.tech>
Tue, 3 Oct 2023 13:02:59 +0000 (16:02 +0300)
committerHuy Mai <huy.mai@est.tech>
Mon, 16 Oct 2023 06:06:37 +0000 (09:06 +0300)
Change-Id: I366d76df94b851fc6c6bb6954e073a8f2e1632e4

jjb/metal3/job_container_image_building.yaml [new file with mode: 0644]
jjb/metal3/projects.yml

diff --git a/jjb/metal3/job_container_image_building.yaml b/jjb/metal3/job_container_image_building.yaml
new file mode 100644 (file)
index 0000000..96468fb
--- /dev/null
@@ -0,0 +1,76 @@
+---
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2023 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+# Description:
+# ============
+# This file contains a job template for building Metal3 CI container images.
+# This job will be triggered automatically with github merge action. It creates a
+# pipeline job. The pipeline scripts are maintained in Nordix/metal3-dev-tools repository.
+
+- job-template:
+    id: container_image_building
+    name: '{job_prefix}_{image_name}_container_image_building'
+    description: "Builder job for container images for Metal3 CI"
+    project-type: pipeline
+    defaults: global
+    disabled: False
+    concurrent: True
+    parameters:
+    - string:
+        name: BUILD_CONTAINER_IMAGE_NAME
+        default: '${image_name}'
+        description: 'Name of the container image to build'
+
+    properties:
+    - build-discarder:
+        days-to-keep: 30
+        num-to-keep: 300
+        artifact-days-to-keep: -1
+        artifact-num-to-keep: -1
+
+    scm:
+      - git:
+          url: "{repo}"
+          credentials-id: "{ci_github_jenkins_credentials_id}"
+          name: 'origin'
+          refspec: '+refs/heads/*:refs/remotes/origin/*'
+          wipe-workspace: True
+          honor-refspec: True
+          shallow-clone: False
+          included-regions:
+            - '${dockerfile_location}'
+
+    triggers:
+      - github
+
+    pipeline-scm:
+      scm:
+      - git:
+          url: "{ci_github_repo}"
+          credentials-id: "{ci_github_jenkins_credentials_id}"
+          branches:
+            - 'main'
+          name: 'origin'
+          refspec: '+refs/heads/*:refs/remotes/origin/*'
+          wipe-workspace: True
+          honor-refspec: True
+          shallow-clone: False
+      script-path: 'ci/jobs/{id}.pipeline'
+      lightweight-checkout: False
index 820cba4f7550e41835826af6a006abf16424d0af..3f1acdd1146f57f9560316fc636889a5dd42fcaf 100644 (file)
           repo: ironic-image
     jobs:
       - ironic_image_build_tests
+
+- project:
+    name: 'container_image_build'
+    org: metal3-io
+    image_name:
+        - baremetal-operator:
+            repo: https://github.com/metal3-io/baremetal-operator.git
+            dockerfile_location: /
+        - cluster-api-provider-metal3:
+            repo: https://github.com/metal3-io/cluster-api-provider-metal3.git
+            dockerfile_location: /
+        - ip-address-manager:
+            repo: https://github.com/metal3-io/ip-address-manager.git
+            dockerfile_location: /
+        - ironic:
+            repo: https://github.com/metal3-io/ironic-image.git
+            dockerfile_location: /
+        - ironic-client:
+            repo: https://github.com/metal3-io/ironic-client.git
+            dockerfile_location: /
+        - ironic-ipa-downloader:
+            repo: https://github.com/metal3-io/ironic-ipa-downloader.git
+            dockerfile_location: /
+        - keepalived:
+            repo: https://github.com/metal3-io/baremetal-operator.git
+            dockerfile_location: /resources/keepalived-docker/
+        - mariadb:
+            repo: https://github.com/metal3-io/mariadb-image.git
+            dockerfile_location: /
+        - sushy-tools:
+            repo: https://github.com/metal3-io/ironic-image.git
+            dockerfile_location: /resources/sushy-tools/
+        - vbmc:
+            repo: https://github.com/metal3-io/ironic-image.git
+            dockerfile_location: /resources/vbmc/
+    ci_github_jenkins_credentials_id: 'nordix-metal3-ci-github-prod-token'
+    ci_ghprb_auth_id: 'e8a43847-46ff-42db-a5db-7366df0e4ee2'
+    ci_github_repo: 'https://github.com/Nordix/metal3-dev-tools.git'