X-Git-Url: https://gerrit.akraino.org/r/gitweb?p=ci-management.git;a=blobdiff_plain;f=jjb%2Fshell%2Fta-rpm-deploy.sh;h=da977c7c6418bcb831c69386b19d2c701bf49b2b;hp=e89411b8fe8fd15159f67786e84bb4214578fdbf;hb=7575d2a1bd2d3d9af3d23b20432cc3fe8f100a01;hpb=621a10de775b8f312043e886d8264e8f06ea38bb diff --git a/jjb/shell/ta-rpm-deploy.sh b/jjb/shell/ta-rpm-deploy.sh index e89411b..da977c7 100644 --- a/jjb/shell/ta-rpm-deploy.sh +++ b/jjb/shell/ta-rpm-deploy.sh @@ -16,19 +16,50 @@ set -eu -o pipefail set -x # Trace commands for this script to make debugging easier. -NEXUS_REPO=images-snapshots +NEXUS_REPO=rpm.snapshots release_path=TA/release-1 repo_dir="$WORKSPACE/work/nexus/$NEXUS_REPO" -x86_dir="$repo_dir/$release_path/rpms/x86_64" +arch_dir="$repo_dir/$release_path/rpms/$(uname -m)" sources_dir="$repo_dir/$release_path/rpms/Sources" -nexus_repo_url="$NEXUS_URL/content/repositories/$NEXUS_REPO" +nexus_repo_url="$RPM_REPO_URL/repository/$NEXUS_REPO" +results_dir="$WORKSPACE/work/results" +repo_name=`echo $WORKSPACE | awk -F '/' '{print $4}' | cut -d '-' -f2- | sed 's|\(.*\)-.*|\1|'` -mkdir -p "$x86_dir" +#Creating dirs to move duplicate RPMs/SRPMs to avoid re-upload and copy the changed RPMs/SRPMs +rm -rf "$results_dir/repo/duplicates" "$results_dir/src_repo/duplicates" +mkdir "$results_dir/repo/duplicates" +mkdir "$results_dir/src_repo/duplicates" +mkdir -p "$arch_dir" mkdir -p "$sources_dir" -cp "$WORKSPACE/work/results/repo/"*.rpm "$x86_dir" -cp "$WORKSPACE/work/results/src_repo/"*.rpm "$sources_dir" +#List all RPMs available in Nexus, move the duplicates and copy the changed ones +for artifact in \ + `ls $results_dir/repo/*.rpm` + do + if curl --head --fail $nexus_repo_url/$release_path/rpms/$(uname -m)/$(basename $artifact) + then + echo "RPM - $(basename $artifact) already available in Nexus" + mv $results_dir/repo/$(basename $artifact) $results_dir/repo/duplicates/ + else + echo "RPM - $(basename $artifact) is not available in Nexus. Will be uploaded" + cp $results_dir/repo/$(basename $artifact) $arch_dir + fi + done + +#List all Source RPMs available in Nexus, move the duplicates and copy the changed ones +for artifact in \ + `ls $results_dir/src_repo/*.rpm` + do + if curl --head --fail $nexus_repo_url/$release_path/rpms/Sources/$(basename $artifact) + then + echo "Source RPM - $(basename $artifact) already available in Nexus" + mv $results_dir/src_repo/$(basename $artifact) $results_dir/src_repo/duplicates/ + else + echo "Source RPM - $(basename $artifact) is not available in Nexus. Will be uploaded" + cp $results_dir/src_repo/$(basename $artifact) $sources_dir + fi + done echo "-----> Upload RPMs to Nexus" lftools deploy nexus "$nexus_repo_url" "$repo_dir"