+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 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=========================================================
+---
+- project:
+ name: 'uds-daily-build-package-promote'
+ projects: 'onap/sdc, local/onap/uds/sdc-customization'
+ project-name:
+ - uds
+ branches: 20.2, master
+ project_directories: sdc, sdc-customization
+ project_versions:
+ mvn_settings_xml_version:
+ docker_images: '
+ uds/sdc-cassandra-init,
+ uds/sdc-backend-init,
+ uds/sdc-be-plugin/etsi-nfv-nsd-csar,
+ uds/sdc-be-plugin/vf-csar,
+ uds/sdc-customization/eo-sdc-backend-init,
+ uds/sdc-customization/eo-cassandra-init,
+ uds/sdc-backend,
+ uds/sdc-onboard-backend,
+ uds/sdc-frontend,
+ uds/sdc-cassandra,
+ uds/sdc-simulator
+ '
+ docker_image_artifact_directory: $WORKSPACE/artifacts/images
+ artifactory_docker_images_path: onap/uds/images
+ artifact_paths: 'sdc/catalog-be/target/catalog-be-*.war'
+ artifactory_artifact_path: onap/uds
+ artifact_directory: $WORKSPACE/artifacts/artifacts
+ artifactory_repo_archive_path: onap/uds/releases
+ repo_archive_artifact_directory: $WORKSPACE/artifacts/repos
+ grep_parameters: -oP (?<=uds.version>)[^<]+
+ archive_name: uds
+ pom_location: sdc/pom.xml
+ workspace: /home/jenkins/nordix/slave_root/workspace/
+ node: onap-uds-build-ubuntu1804
+
+ jobs:
+ - '{project-name}-daily-build-package-promote'
+ - '{project-name}-build'
+ - '{project-name}-package-artifacts'
+ - '{project-name}-package-images'
+ - '{project-name}-package-repositories'
+ - '{project-name}-promote-artifacts'
+ - '{project-name}-promote-images'
+ - '{project-name}-promote-repositories'
+
+
+- job-template:
+ name: '{project-name}-daily-build-package-promote'
+ description: 'Job for building, packing and pushing UDS artifacts including sources, docker images and other arifacts to Artifactory'
+ project-type: 'multijob'
+ workspace: '{workspace}'
+ node: '{node}'
+ parameters:
+ - multi-project-parameters:
+ projects: '{projects}'
+ branches: '{branches}'
+ project_directories: '{project_directories}'
+ project_versions: '{project_versions}'
+ - git-parameters
+ - maven-parameters:
+ mvn_settings_xml_version: '{mvn_settings_xml_version}'
+ - artifact_parameters:
+ artifact_paths: '{artifact_paths}'
+ artifactory_artifact_path: '{artifactory_artifact_path}'
+ artifact_directory: '{artifact_directory}'
+ - artifactory-parameters
+ - docker-archive-parameters:
+ docker_images: '{docker_images}'
+ artifactory_docker_images_path: '{artifactory_docker_images_path}'
+ docker_image_artifact_directory: '{docker_image_artifact_directory}'
+ - repo-archive-parameters:
+ grep_parameters: '{grep_parameters}'
+ pom_location: '{pom_location}'
+ archive_name: '{archive_name}'
+ artifactory_repo_archive_path: '{artifactory_repo_archive_path}'
+ repo_archive_artifact_directory: '{repo_archive_artifact_directory}'
+
+ builders:
+ - 'pull-source-repositories'
+ - 'generate-build-metadata'
+ - multijob:
+ name: Build
+ condition: SUCCESSFUL
+ projects:
+ - name: '{project-name}-build'
+ current-parameters: true
+ node-parameters: true
+ abort-all-job: false
+ kill-phase-on: FAILURE
+ property-file: $WORKSPACE/build.properties
+ - multijob:
+ name: Package
+ condition: SUCCESSFUL
+ execution-type: SEQUENTIALLY
+ projects:
+ - name: '{project-name}-package-artifacts'
+ current-parameters: true
+ node-parameters: true
+ abort-all-job: false
+ kill-phase-on: FAILURE
+ property-file: $WORKSPACE/build.properties
+ - name: '{project-name}-package-images'
+ current-parameters: true
+ node-parameters: true
+ abort-all-job: false
+ kill-phase-on: FAILURE
+ property-file: $WORKSPACE/build.properties
+ - name: '{project-name}-package-repositories'
+ current-parameters: true
+ node-parameters: true
+ abort-all-job: false
+ kill-phase-on: FAILURE
+ property-file: $WORKSPACE/build.properties
+ - multijob:
+ name: Promote
+ condition: SUCCESSFUL
+ execution-type: PARALLEL
+ projects:
+ - name: '{project-name}-promote-artifacts'
+ current-parameters: true
+ node-parameters: true
+ abort-all-job: false
+ kill-phase-on: FAILURE
+ property-file: $WORKSPACE/build.properties
+ - name: '{project-name}-promote-images'
+ current-parameters: true
+ node-parameters: true
+ abort-all-job: false
+ kill-phase-on: FAILURE
+ property-file: $WORKSPACE/build.properties
+ - name: '{project-name}-promote-repositories'
+ current-parameters: true
+ node-parameters: true
+ abort-all-job: false
+ kill-phase-on: FAILURE
+ property-file: $WORKSPACE/build.properties
+ triggers:
+ - timed: "@midnight"
+ wrappers:
+ - openstack:
+ single-use: True
+ - credentials-binding:
+ - username-password-separated:
+ credential-id: infra-nordix-artifactory-api-key
+ username: ARTIFACTORY_USER
+ password: ARTIFACTORY_API_KEY
+
+- job-template:
+ name: '{project-name}-build'
+ description: 'Job for building out uds repositories'
+ workspace: '{workspace}'
+ node: '{node}'
+
+ builders:
+ - 'maven-build-repositories'
+
+
+- job-template:
+ name: '{project-name}-package-artifacts'
+ description: 'Job for archiving uds artifacts (.war, .jar files etc.)'
+ workspace: '{workspace}'
+ node: '{node}'
+
+ builders:
+ - 'collect-file-artifacts'
+
+
+- job-template:
+ name: '{project-name}-package-images'
+ description: 'Job for archiving uds docker images'
+ workspace: '{workspace}'
+ node: '{node}'
+
+ builders:
+ - 'package-docker-images'
+
+
+- job-template:
+ name: '{project-name}-package-repositories'
+ description: 'Job for archiving uds source repos (sdc, sdc-customization)'
+ workspace: '{workspace}'
+ node: '{node}'
+
+ builders:
+ - 'maven-clean-repositories'
+ - 'package-source-repositories'
+
+
+- job-template:
+ name: '{project-name}-promote-artifacts'
+ description: 'Job for pushing uds file artifacts (.war, .jar files etc.) to Artifactory'
+ workspace: '{workspace}'
+ node: '{node}'
+
+ builders:
+ - 'promote-file-artifacts-to-artifactory'
+
+- job-template:
+ name: '{project-name}-promote-images'
+ description: 'Job for pushing uds docker images to Artifactory'
+ workspace: '{workspace}'
+ node: '{node}'
+
+ builders:
+ - 'promote-docker-images-to-artifactory'
+
+- job-template:
+ name: '{project-name}-promote-repositories'
+ description: 'Job for pushing uds source repositories (sdc, sdc-customization) to Artifactory'
+ workspace: '{workspace}'
+ node: '{node}'
+
+ builders:
+ - 'promote-source-repositories-to-artifactory'