Files
nms_cxy/build.sh
2024-07-10 17:39:42 +08:00

128 lines
3.8 KiB
Bash

#!/bin/bash
usage() {
echo "Usage: $0 [OPTION] deb|rpm"
echo
echo "Build omc package, option as follow:"
echo " deb|rpm, deb: ubuntu|debian package build by dpkg"
echo " rpm: centos/redhat package, build by rpm"
echo
}
pkgtype=""
new_args=()
# Traverse all parameters
for arg in "$@"; do
if [[ "$arg" == "deb" || "$arg" == "rpm" ]]; then
pkgtype=$arg
else
new_args+=("$arg") # Add non pkgtype parameters to a new parameter list
fi
done
if [ -z "$pkgtype" ]; then
usage
exit 1
fi
# Use a new parameter list
set -- "${new_args[@]}"
ProjectL=omc
ProjectU=OMC
VERSION=2.2407.1
RelDate=`date +%Y%m%d`
RelVer=${VERSION}-${RelDate}
EmsBEDir=/home/agtuser/probject/nms_cxy
EmsFEDir=/home/agtuser/probject/ems_frontend_vue3/dist
SystemDir=${EmsBEDir}/build/system
# rpm
RpmBuildDir=${EmsBEDir}/build/rpmbuild
RpmBuildDirOMC=${RpmBuildDir}/BUILD/usr/local/omc
RpmBuildDirOMCBin=${RpmBuildDirOMC}/bin
RpmBuildDirOMCFront=${RpmBuildDirOMC}/htdocs/front
RpmReleaseDebsDir=${EmsBEDir}/build/release/rpms/arm64
# deb
DebBuildDir=${EmsBEDir}/build/debbuild
DebBuildDirOMC=${DebBuildDir}/usr/local/omc
DebBuildDirOMCBin=${DebBuildDirOMC}/bin
DebBuildDirOMCFront=${DebBuildDirOMC}/htdocs/front
DebReleaseDebsDir=${EmsBEDir}/build/release/debs/amd64
case "${pkgtype}" in
rpm)
# 还原打包目录
rm -rf ${RpmBuildDir}
git checkout .
cp -rf ${SystemDir}/* ${RpmBuildDir}/BUILD
cp -rf ${RpmBuildDirOMC}/etc/db/common/* ${RpmBuildDirOMC}/etc/db/install
cp -rf ${RpmBuildDirOMC}/etc/db/common/* ${RpmBuildDirOMC}/etc/db/upgrade
rm -rf ${RpmBuildDirOMC}/etc/db/common
# 前端dist文件
rm -rf ${RpmBuildDirOMCFront}
cp -rf ${EmsFEDir}/* ${RpmBuildDirOMCFront}
echo '/*use nginx*/' | tee ${RpmBuildDirOMCFront}/config.js
# 打包可执行文件
cd $EmsBEDir/omc
echo "Make omc ..."
make
cp -rf ${EmsBEDir}/omc/omc ${RpmBuildDirOMCBin}/omc
chmod +x ${RpmBuildDirOMCBin}/*
# 打包rpm
cd ${EmsBEDir}
chmod 755 ${RpmBuildDir}
chmod 755 ${RpmBuildDirOMC}
DebPkgFile=omc-r${RelVer}-ky10-nms_cxy.rpm
rpmbuild -bb -D "_topdir ${RpmBuildDir}" ${RpmBuildDir}/SPECS/omc.spec
# 生成MD5文件
cd $RpmReleaseDebsDir
rm -f omc-md5sum.txt
md5sum ${RpmReleaseDebsDir}/${DebPkgFile} >omc-md5sum.txt
;;
deb)
# 还原打包目录
rm -rf ${DebBuildDir}
git checkout .
cp -rf ${SystemDir}/* ${DebBuildDir}/
cp -rf ${DebBuildDirOMC}/etc/db/common/* ${DebBuildDirOMC}/etc/db/install
cp -rf ${DebBuildDirOMC}/etc/db/common/* ${DebBuildDirOMC}/etc/db/upgrade
rm -rf ${DebBuildDirOMC}/etc/db/common
# 前端dist文件
rm -rf ${DebBuildDirOMCFront}
cp -rf ${EmsFEDir}/* ${DebBuildDirOMCFront}
echo '/*use nginx*/' | tee ${DebBuildDirOMCFront}/config.js
# 打包可执行文件
cd $EmsBEDir/omc
echo "Make omc ..."
make
cp -rf ${EmsBEDir}/omc/omc ${DebBuildDirOMCBin}/omc
chmod +x ${DebBuildDirOMCBin}/*
# 打包deb
cd ${EmsBEDir}
chmod 755 ${DebBuildDir}
chmod 755 ${DebBuildDir}/DEBIAN/preinst
chmod 755 ${DebBuildDir}/DEBIAN/postinst
chmod 755 ${DebBuildDir}/DEBIAN/postrm
sed -i "s/YYYYMMDD/${RelDate}/g" ${DebBuildDir}/DEBIAN/control
DebPkgFile=omc-r${RelVer}-ub22-nms_cxy.deb
dpkg -b ${DebBuildDir} ${DebReleaseDebsDir}/${DebPkgFile}
# 生成MD5文件
cd $DebReleaseDebsDir
rm -f omc-md5sum.txt
md5sum ${DebReleaseDebsDir}/${DebPkgFile} >omc-md5sum.txt
;;
*)
usage
exit 4
;;
esac