X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=jenkins%2Fci-pipelines%2Fci_helper.groovy;h=f3430764b57481fc456571cdab004385e511d6ff;hb=3388212eac8fa6aff2f5d766e62e33962816501b;hp=94e1b705332e37b6491603680b3ce0244fb60f07;hpb=34b892a25173619996492dd037643af146235894;p=osm%2Fdevops.git diff --git a/jenkins/ci-pipelines/ci_helper.groovy b/jenkins/ci-pipelines/ci_helper.groovy index 94e1b705..f3430764 100644 --- a/jenkins/ci-pipelines/ci_helper.groovy +++ b/jenkins/ci-pipelines/ci_helper.groovy @@ -1,7 +1,7 @@ /* Copyright 2017 Sandvine * * All Rights Reserved. - * + * * 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 @@ -35,10 +35,20 @@ def get_archive(artifactory_server, mdg, branch, build_name, build_number, patte ] }""" - server.download(downloadSpec) + def results = server.download(downloadSpec) + // Save the list of URLs that we need to pass to the dockerfiles for build + def debian_packages = [] + for ( result in results.getDependencies()) { + if (result.remotePath.contains(".deb")) { + debian_packages.add(result.remotePath) + } + } + // workaround. flatten repo to remove specific build num from the directory - sh "cp -R ${branch}/${build_num}/* ." - sh "rm -rf ${branch}/${build_num}" + sh "cp -R ${branch}/${build_number}/* ." + sh "rm -rf ${branch}/${build_number}" + + return debian_packages } def get_env_value(build_env_file,key) { @@ -55,10 +65,10 @@ def lxc_file_push(container_name,file,destination) { // start a http server // return the http server URL -def start_http_server(repo_dir,server_name) { - sh "docker run -dit --name ${server_name} -v ${repo_dir}:/usr/local/apache2/htdocs/ httpd:2.4" +def start_http_server(repo_dir,server_name,port) { + sh "docker run -dit --name ${server_name} -p ${port}:80 -v ${repo_dir}:/usr/local/apache2/htdocs/ httpd:2.4" def http_server_ip = sh(returnStdout:true, script: "docker inspect --format '{{ .NetworkSettings.IPAddress }}' ${server_name}").trim() - return "-u http://${http_server_ip}/" + return "http://${http_server_ip}/" } def lxc_get_file(container_name,file,destination) { @@ -70,12 +80,13 @@ def systest_run(container_name, test, source_rc = null) { so_ip = lxc_run(container_name,"lxc list SO-ub -c 4|grep eth0 |awk '{print \$2}'") ro_ip = lxc_run(container_name,"lxc list RO -c 4|grep eth0 |awk '{print \$2}'") //container_ip = get_ip_from_container(container_name) - + if ( source_rc ) { pre_source = "/tmp/" + source_rc.substring(source_rc.lastIndexOf('/')+1) - + lxc_file_push(container_name,source_rc,pre_source) - lxc_run(container_name, "sh -c '. ${pre_source}; make -C devops/systest OSM_HOSTNAME=${so_ip} OSM_RO_HOSTNAME=${ro_ip} ${test}'") + result = lxc_run(container_name, "sh -c '. ${pre_source}; make -C devops/systest OSM_HOSTNAME=${so_ip} OSM_RO_HOSTNAME=${ro_ip} ${test}'") + echo result } else { @@ -156,7 +167,7 @@ def promote_build(artifactory_server,mdg,branch,buildInfo) { "buildName" : buildInfo.name, "buildNumber" : buildInfo.number, 'targetRepo' : 'osm-release', - + // Optional parameters 'comment' : 'this is the promotion comment', 'sourceRepo' : "${repo_prefix}${mdg}",