From c032cadb1e645bf60cfd9276ed2660cc602a0e25 Mon Sep 17 00:00:00 2001 From: Qiaowei Ren Date: Thu, 18 Jan 2018 12:39:37 +0800 Subject: build package This patch is to build debian/centos package. Currently it only can build ceph package and only support debian package building from ceph official repo. Change-Id: I702a1d28dd0101156bc3267d93510133db122613 Signed-off-by: Qiaowei Ren --- ci/build.sh | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100755 ci/build.sh (limited to 'ci/build.sh') diff --git a/ci/build.sh b/ci/build.sh new file mode 100755 index 0000000..61a5cc6 --- /dev/null +++ b/ci/build.sh @@ -0,0 +1,116 @@ +#!/bin/bash +# +# Common parameter parsing for kvmfornfv scripts +# + +function usage() { + echo "" + echo "Usage --> $0 [-p package_type] [-o output_dir] [-h]" + echo " package_type : centos/ubuntu/both ; default is ubuntu" + echo " output_dir : stores rpm and debian packages" + echo " -h : Help section" + echo "" +} + +output_dir="" +type="" + +function run() { + case $1 in + centos) + cd $WORKSPACE/ci/build_rpm + sudo docker build -t stor_rpm . + sudo docker run --privileged=true -v $WORKSPACE:/opt/stor4nfv -t stor_rpm \ + /opt/stor4nfv/ci/build_interface.sh $1 + ;; + ubuntu) + cd $WORKSPACE/ci/build_deb + sudo docker build -t stor_deb . + sudo docker run -v $WORKSPACE:/opt/stor4nfv -t stor_deb \ + /opt/stor4nfv/ci/build_interface.sh $1 + ;; + *) echo "Not supported system"; exit 1;; + esac +} + +function build_package() { + choice=$1 + case "$choice" in + "centos"|"ubuntu") + echo "Build $choice Rpms/Debians" + run $choice + ;; + "both") + echo "Build $choice Debians and Rpms" + run "centos" + run "ubuntu" + ;; + *) + echo "Invalid package option" + usage + exit 1 + ;; + esac +} + +## --- Parse command line arguments / parameters --- +while getopts ":o:p:h" option; do + case $option in + p) # package + type=$OPTARG + ;; + o) # output_dir + output_dir=$OPTARG + ;; + :) + echo "Option -$OPTARG requires an argument." + usage + exit 1 + ;; + h) + usage + exit 0 + ;; + *) + echo "Unknown option: $OPTARG." + usage + exit 1 + ;; + ?) + echo "[WARNING] Unknown parameters!!!" + echo "Using default values for package generation & output" + esac +done + +if [[ -z "$type" ]] +then + type='ubuntu' +fi + +if [[ -z "$output_dir" ]] +then + output_dir=$WORKSPACE/build_output +fi + +job_type=`echo $JOB_NAME | cut -d '-' -f 2` + +echo "" +echo "Building for $type package in $output_dir" +echo "" + +mkdir -p $output_dir +build_package $type + +if [ $job_type == "verify" ]; then + if [ $type == "centos" ]; then + #echo "Removing kernel-debuginfo rpm from output_dir" + #rm -f ${output_dir}/kernel-debug* + echo "Checking packages in output_dir" + ls -lrth ${output_dir} + else + echo "Removing debug debian from output_dir" + rm -f ${output_dir}/*dbg* + echo "Checking packages in output_dir" + ls -lrth ${output_dir} + fi +fi -- cgit 1.2.3-korg