add: 打包脚本
This commit is contained in:
172
build.sh
Normal file
172
build.sh
Normal file
@@ -0,0 +1,172 @@
|
||||
#!/bin/bash
|
||||
|
||||
ProjectL=omc
|
||||
ProjectU=OMC
|
||||
PROJECT=${ProjectL}
|
||||
VERSION=2.2403.1
|
||||
RelDate=`date +%Y%m%d`
|
||||
RelVer=${VERSION}-${RelDate}
|
||||
Ky10Arch=ky10.aarch64
|
||||
RpmPkgName=${ProjectL}-${RelVer}.ky10.aarch64.rpm
|
||||
RpmPkgRename=${ProjectL}-r${RelVer}-ky10.rpm
|
||||
DebPkgName=${ProjectL}-r${RelVer}-ub*.deb
|
||||
GitLocalRoot=/home/agtuser/probject/nms_cxy
|
||||
EmsBEDir=/home/agtuser/probject/nms_cxy
|
||||
EmsBuildRoot=/home/agtuser/probject/nms_cxy/build
|
||||
RpmArch=`arch`
|
||||
RpmsDir=/home/agtuser/probject/nms_cxy/build/rpmbuild/RPMS/
|
||||
ReleaseDir=/home/agtuser/probject/nms_cxy/build/release
|
||||
|
||||
PLATFORM=amd64
|
||||
ARMPLATFORM=aarch64
|
||||
BuildDir=/home/agtuser/probject/nms_cxy/build/build
|
||||
BuildOMCDir=/home/agtuser/probject/nms_cxy/build/build/usr/local/omc
|
||||
BuildOMCBinDir=/home/agtuser/probject/nms_cxy/build/build/usr/local/omc/bin
|
||||
BuildOMCEtcDir=/home/agtuser/probject/nms_cxy/build/build/usr/local/omc/etc
|
||||
BuildLibSystemDir=/home/agtuser/probject/nms_cxy/build/build/lib/systemd/system
|
||||
DebBuildDir=/home/agtuser/probject/nms_cxy/build/debbuild
|
||||
DebFEBuildDir=/home/agtuser/probject/nms_cxy/build/debbuild/usr/local/omc/htdocs
|
||||
DebBuild2204Dir=/home/agtuser/probject/nms_cxy/build/debbuild/22.04
|
||||
DebFEBuild2204Dir=/home/agtuser/probject/nms_cxy/build/debbuild/22.04/usr/local/omc/htdocs
|
||||
RpmBuildDir=/home/agtuser/probject/nms_cxy/build/rpmbuild
|
||||
RpmFEBuildDir=/home/agtuser/probject/nms_cxy/build/rpmbuild/BUILD/usr/local/omc/htdocs
|
||||
OmcInstallDir=/usr/local/omc
|
||||
ConfigEtcDir=/home/agtuser/probject/nms_cxy/build/config/etc
|
||||
ConfigSystemdDir=/home/agtuser/probject/nms_cxy/build/config/systemd
|
||||
EmsFEVue3Dir=/home/agtuser/Docker/nginx/html/dist
|
||||
RESTAGENT=restagent
|
||||
CRONTASK=crontask
|
||||
SshSvcBin=sshsvc
|
||||
CapTraceBin=captrace
|
||||
Data2htmlBin=data2html
|
||||
NBI_ALARM=nbi_alarm
|
||||
NBI_AGENT=nbi_agent
|
||||
AAAA_AGENT=4a_agent
|
||||
RestagentDir=/usr/local/omc/bin
|
||||
CrontaskDir=/usr/local/omc/bin
|
||||
SshSvcDir=/usr/local/omc/bin
|
||||
CapTraceDir=/usr/local/omc/bin
|
||||
Data2htmlDir=/usr/local/omc/bin
|
||||
DBSQLSrcDir=/home/agtuser/probject/nms_cxy/build/database
|
||||
MiscDir=/home/agtuser/probject/nms_cxy/build/misc
|
||||
FrontBuildDir=/home/agtuser/probject/nms_cxy/build/build/usr/local/omc/htdocs
|
||||
ReleaseDebs=/home/agtuser/probject/nms_cxy/build/release/debs/amd64
|
||||
CrontaskSize=27788951
|
||||
RestagentSize=29525312
|
||||
|
||||
if [[ ${RpmArch} =~ "x86_64" ]];then
|
||||
RelArch=amd64
|
||||
elif [[ ${RpmArch} =~ "aarch64" ]];then
|
||||
RelArch=arm64
|
||||
fi
|
||||
|
||||
ProcList="restagent"
|
||||
cd $EmsBEDir
|
||||
for procName in $ProcList;do
|
||||
cd $EmsBEDir/$procName
|
||||
echo "Make $procName ..."
|
||||
make
|
||||
done
|
||||
|
||||
case "$1" in
|
||||
rpm)
|
||||
# make rpm
|
||||
# clear build cache
|
||||
rm -rf ${FrontBuildDir}/front/*
|
||||
rm -rf ${RpmFEBuildDir}/front/*
|
||||
rm -rf /home/agtuser/probject/nms_cxy/build/rpmbuild/BUILD/usr/local/omc/etc/db/*
|
||||
|
||||
cp -rf ${RestagentDir}/restagent ${BuildOMCBinDir}
|
||||
cp -rf ${CrontaskDir}/crontask ${BuildOMCBinDir}
|
||||
cp -rf ${SshSvcDir}/sshsvc ${BuildOMCBinDir}
|
||||
cp -rf ${CapTraceDir}/captrace ${BuildOMCBinDir}
|
||||
cp -rf ${Data2htmlDir}/data2html ${BuildOMCBinDir}
|
||||
# cp -rf ${MiscDir}/ne-hosts ${BuildOMCBinDir}
|
||||
# cp -rf ./nbi/${NBI_ALARM}/bin/${NBI_ALARM} ${BinDir2}
|
||||
# cp -rf ./nbi/${NBI_AGENT}/bin/${NBI_AGENT} ${BinDir2}
|
||||
# cp -rf ./${4A_AGENT}/bin/${4A_AGENT} ${BinDir2}
|
||||
cp -rf ${MiscDir}/* ${BuildOMCBinDir}
|
||||
# rm -rf ${BinDir2}/ne-hosts
|
||||
cp -rf ${ConfigEtcDir}/* ${BuildOMCEtcDir}
|
||||
rm -rf ${BuildOMCEtcDir}/db/*
|
||||
cp -rf ${DBSQLSrcDir}/* ${BuildOMCEtcDir}/db/
|
||||
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/install
|
||||
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgrade
|
||||
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgvue3
|
||||
|
||||
cp -rf ${ConfigSystemdDir}/* ${BuildLibSystemDir}
|
||||
#unzip ${FrontSrcDir}/front.zip -d ${FrontBuildDir} >/dev/null
|
||||
mkdir -p ${FrontBuildDir}/front
|
||||
cp -rf ${EmsFEVue3Dir}/* ${FrontBuildDir}/front >/dev/null
|
||||
chmod 755 ${BuildOMCBinDir}/*
|
||||
# chmod 755 ${BinDir2}/*
|
||||
cp -rf /home/agtuser/probject/nms_cxy/build/build/* /home/agtuser/probject/nms_cxy/build/rpmbuild/BUILD/
|
||||
#cp -rf /home/agtuser/probject/nms_cxy/build/build/nginx /home/agtuser/probject/nms_cxy/build/rpmbuild/BUILD/etc/
|
||||
#cp -rf /home/agtuser/probject/nms_cxy/build/build/systemd /home/agtuser/probject/nms_cxy/build/rpmbuild/BUILD/lib/
|
||||
cd /home/agtuser/probject/nms_cxy/build/rpmbuild
|
||||
rpmbuild -bb -D "_topdir /home/agtuser/probject/nms_cxy/build/rpmbuild" /home/agtuser/probject/nms_cxy/build/rpmbuild/SPECS/omc.spec
|
||||
|
||||
mv -f $RpmsDir/$RpmArch/$RpmPkgName $ReleaseDir/"$1"s/$RelArch/$RpmPkgRename
|
||||
cd $ReleaseDir/"$1"s/$RelArch
|
||||
rm -f omc-md5sum.txt
|
||||
md5sum $RpmPkgRename >omc-md5sum.txt
|
||||
;;
|
||||
deb)
|
||||
VersionID=`grep VERSION_ID /etc/os-release`
|
||||
if [[ ${VersionID} =~ 'VERSION_ID="22.04"' ]]; then
|
||||
DebBuildDir=${DebBuild2204Dir}
|
||||
DebFEBuildDir=${DebFEBuild2204Dir}
|
||||
#DebPkgFile=${PROJECT}-${VERSION}-22.04-${Release).${PLATFORM).deb
|
||||
DebPkgFile=${PROJECT}-r${VERSION}-${RelDate}-ub22.deb
|
||||
elif [[ ${VersionID} =~ 'VERSION_ID="18.04"' ]]; then
|
||||
DebPkgFile=${PROJECT}-r${VERSION}-${RelDate}-ub18.deb
|
||||
else
|
||||
echo "Invalid OS release: ${VersionID}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd /home/agtuser/probject/nms_cxy
|
||||
|
||||
#make deb
|
||||
# clear build cache
|
||||
rm -rf ${FrontBuildDir}/front/*
|
||||
rm -rf ${DebFEBuildDir}/front/*
|
||||
rm -rf ${DebBuildDir}/usr/local/omc/etc/db/*
|
||||
|
||||
cp -rf ${RestagentDir}/restagent ${BuildOMCBinDir}
|
||||
cp -rf ${CrontaskDir}/crontask ${BuildOMCBinDir}
|
||||
cp -rf ${SshSvcDir}/sshsvc ${BuildOMCBinDir}
|
||||
cp -rf ${CapTraceDir}/captrace ${BuildOMCBinDir}
|
||||
cp -rf ${Data2htmlDir}/data2html ${BuildOMCBinDir}
|
||||
cp -rf ${MiscDir}/* ${BuildOMCBinDir}
|
||||
cp -rf ${ConfigEtcDir}/* ${BuildOMCEtcDir}
|
||||
rm -rf ${BuildOMCEtcDir}/db/*
|
||||
cp -rf ${DBSQLSrcDir}/* ${BuildOMCEtcDir}/db/
|
||||
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/install
|
||||
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgrade
|
||||
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgvue3
|
||||
|
||||
cp -rf ${ConfigSystemdDir}/* ${BuildLibSystemDir}
|
||||
cp -rf ${EmsFEVue3Dir}/* ${FrontBuildDir}/front >/dev/null
|
||||
chmod 755 ${BuildOMCBinDir}/*
|
||||
chmod 755 ${DebBuildDir}/DEBIAN/preinst
|
||||
chmod 755 ${DebBuildDir}/DEBIAN/postinst
|
||||
chmod 755 ${DebBuildDir}/DEBIAN/postrm
|
||||
cp -rf /home/agtuser/probject/nms_cxy/build/build/* ${DebBuildDir}/
|
||||
#cp -rf /home/agtuser/probject/nms_cxy/build/build/nginx/* ${DebBuildDir}/etc/nginx/conf.d
|
||||
#cp -rf /home/agtuser/probject/nms_cxy/build/build/systemd/*.service ${DebBuildDir}/lib/systemd/system/
|
||||
chmod +x ${DebBuildDir}/usr/local/omc/bin/*
|
||||
sed -i "s/YYYYMMDD/${RelDate}/g" ${DebBuildDir}/DEBIAN/control
|
||||
perl -0777 -i -pe 's/ne:\n user: root/ne:\n user: agtuser/g' ${DebBuildDir}/usr/local/omc/etc/default/restconf.yaml
|
||||
dpkg -b ${DebBuildDir} ${ReleaseDebs}/${DebPkgFile}
|
||||
|
||||
cd $ReleaseDir/"$1"s/$RelArch
|
||||
rm -f omc-md5sum.txt
|
||||
|
||||
md5sum $DebPkgName >omc-md5sum.txt
|
||||
;;
|
||||
*)
|
||||
echo "mkpkg"
|
||||
echo "Usage: $0 rpm|deb"
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user