+++ /dev/null
-// input parameters:
-// boolean: BUILD_FROM_SOURCE
-// boolean: REPO_DISTRO
-// boolean: COMMIT_ID
-// boolean: UPSTREAM_SUFFIX
-// string: NODE
-// string: RSYNC_DESTINATION
-// string: REPO_BASE_URL
-// string: REPO_KEY_NAME
-// string: RELEASE
-
-node("${params.NODE}") {
-
- stage("Setup") {
- tag_or_branch = params.COMMIT_ID.replaceAll(/\./,"")
- container_name_prefix = "osm-${tag_or_branch}"
- container_name = "${container_name_prefix}-${BUILD_NUMBER}"
- }
-
- stage("Checkout") {
- checkout scm
- }
-
- // Copy the artifacts from the upstream jobs
- stage("Copy Artifacts") {
- // cleanup any previous repo
- sh 'rm -rf repo'
-
- dir('repo') {
- // grab all stable upstream builds based on the
- // given target UPSTREAM_SUFFIX
-
- def list = ["SO", "UI", "RO", "openvim", "osmclient"]
- for (component in list) {
- step ([$class: 'CopyArtifact',
- projectName: "${component}_${params.UPSTREAM_SUFFIX}"])
- sh "dpkg-sig --sign builder -k dpkg1 pool/${component}/*"
- // cleanup any prevously defined dists
- sh "rm -rf dists"
- }
-
- // now create the distro
- for (component in list) {
- sh "mkdir -p dists/${params.REPO_DISTRO}/${component}/binary-amd64/"
- sh "apt-ftparchive packages pool/${component} > dists/${params.REPO_DISTRO}/${component}/binary-amd64/Packages"
- sh "gzip -9fk dists/${params.REPO_DISTRO}/${component}/binary-amd64/Packages"
- }
-
- // create and sign the release file
- sh "apt-ftparchive release dists/${params.REPO_DISTRO} > dists/${params.REPO_DISTRO}/Release"
- sh "gpg --yes -abs -u dpkg1 -o dists/${params.REPO_DISTRO}/Release.gpg dists/${params.REPO_DISTRO}/Release"
- sh "rsync -avz . ${params.RSYNC_DESTINATION}/${params.RELEASE}"
- }
- }
-
- stage("Cleanup") {
- // check for previous containers and clean them up
- sh "jenkins/system/delete_old_containers.sh ${container_name_prefix}"
- }
-
- stage("Build") {
- from_source = ''
- if ( params.BUILD_FROM_SOURCE )
- {
- from_source = '--source'
- }
-
- sh """
- export OSM_USE_LOCAL_DEVOPS=true
- jenkins/host/start_build system --build-container ${container_name} \
- -b ${params.COMMIT_ID} \
- -r ${params.REPO_DISTRO} \
- -u ${params.REPO_BASE_URL} \
- -k ${params.REPO_KEY_NAME} \
- -R ${params.RELEASE} \
- ${from_source}
- """
- }
-
- stage("Archive Artifacts") {
- sh "echo ${container_name} > build_version.txt"
- sh "tar -zcvf repo.tar.gz repo"
- archiveArtifacts artifacts: "build_version.txt, repo.tar.gz", fingerprint: true
- }
-}