Add job to build container images in metal3
Change-Id: I366d76df94b851fc6c6bb6954e073a8f2e1632e4
diff --git a/jjb/metal3/job_container_image_building.yaml b/jjb/metal3/job_container_image_building.yaml
new file mode 100644
index 0000000..96468fb
--- /dev/null
+++ b/jjb/metal3/job_container_image_building.yaml
@@ -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
diff --git a/jjb/metal3/projects.yml b/jjb/metal3/projects.yml
index 820cba4..3f1acdd 100644
--- a/jjb/metal3/projects.yml
+++ b/jjb/metal3/projects.yml
@@ -673,3 +673,41 @@
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'