10 Commits
5 changed files with 154 additions and 45 deletions

No files matched your search

+21 -11
View File
@@ -6,21 +6,31 @@ OS: Ubuntu 18.04 / 22.04 (Recommendation)
Arch: amd64 Arch: amd64
Golang: go1.22.1 linux/amd64
Database: 10.6.16-MariaDB, Redis server v=5.0.5 (or above) Database: 10.6.16-MariaDB, Redis server v=5.0.5 (or above)
node.js: v18.16.0 (or above) - Golang: go1.24.2 linux/amd64
- node.js: v20.18.0 (or above)
## Build Guide ## Build Guide
```bash ```bash
git clone https://xxx@bitbucket.org/bluearcuscom/ems.git omc.git # pwd
cd omc.git cd /root/omc.git
git pull # ls
cd fe.ems.vue3 # be.ems build.ems fe.ems.vue3
npm install cp build.ems/pkg.sh .
npm run build bash pkg.sh --web --api -v 2.2508.1
cd ../build.ems ```
./build.sh deb
Encountered character error
error: `sed: -e expression #1, char 46: Invalid collation character`
```bash
sudo apt-get update
sudo apt-get install locales
sudo locale-gen en_US.UTF-8
sudo update-locale LANG=en_US.UTF-8
source /etc/default/locale
locale
``` ```
+13 -25
View File
@@ -31,7 +31,8 @@ fi
# Use a new parameter list # Use a new parameter list
set -- "${new_args[@]}" set -- "${new_args[@]}"
GitLocalRoot=${HOME}/omc.git RootDir=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
GitLocalRoot=$(dirname $(dirname "$RootDir"))
while getopts "r:d" option; do while getopts "r:d" option; do
case $option in case $option in
r) r)
@@ -111,14 +112,6 @@ fi
case "${pkgtype}" in case "${pkgtype}" in
rpm) rpm)
echo "Begin to make ${pkgtype} package ======>" echo "Begin to make ${pkgtype} package ======>"
ReleasePkgDir=${ReleaseDir}/rpms/${RelArch}
ProcList="restagent sshsvc"
cd $EmsBEDir
for procName in $ProcList;do
cd $EmsBEDir/$procName
echo "Make $procName ..."
make
done
cd $EmsBEDir cd $EmsBEDir
# make rpm # make rpm
@@ -154,6 +147,7 @@ case "${pkgtype}" in
cd ${RpmBuildDir} cd ${RpmBuildDir}
rpmbuild -bb -D "_topdir ${RpmBuildDir}" ${RpmBuildDir}/SPECS/omc.spec rpmbuild -bb -D "_topdir ${RpmBuildDir}" ${RpmBuildDir}/SPECS/omc.spec
ReleasePkgDir=${ReleaseDir}/rpms/${RelArch}
mv -f $RpmsDir/$RpmArch/$RpmPkgName ${ReleasePkgDir}/$RpmPkgRename mv -f $RpmsDir/$RpmArch/$RpmPkgName ${ReleasePkgDir}/$RpmPkgRename
cd ${ReleasePkgDir} cd ${ReleasePkgDir}
rm -f omc-md5sum.txt rm -f omc-md5sum.txt
@@ -163,14 +157,6 @@ case "${pkgtype}" in
;; ;;
deb) deb)
echo "Begin to make ${pkgtype} package ======>" echo "Begin to make ${pkgtype} package ======>"
ReleasePkgDir=${ReleaseDir}/debs/${RelArch}
ProcList="restagent sshsvc"
cd $EmsBEDir
for procName in $ProcList;do
cd $EmsBEDir/$procName
echo "Make $procName ..."
make
done
VersionID=`grep VERSION_ID /etc/os-release` VersionID=`grep VERSION_ID /etc/os-release`
if [[ ${VersionID} =~ 'VERSION_ID="22.04"' ]]; then if [[ ${VersionID} =~ 'VERSION_ID="22.04"' ]]; then
@@ -237,6 +223,7 @@ case "${pkgtype}" in
#cp -rf ${BuildDir}/systemd/*.service ${DebBuildDir}/lib/systemd/system/ #cp -rf ${BuildDir}/systemd/*.service ${DebBuildDir}/lib/systemd/system/
chmod +x ${DebBuildDir}/usr/local/omc/bin/* chmod +x ${DebBuildDir}/usr/local/omc/bin/*
sed -i "s/YYYYMMDD/${RelDate}/g" ${DebBuildDir}/DEBIAN/control sed -i "s/YYYYMMDD/${RelDate}/g" ${DebBuildDir}/DEBIAN/control
ReleasePkgDir=${ReleaseDir}/debs/${RelArch}
dpkg -b ${DebBuildDir} ${ReleasePkgDir}/${DebPkgFile} dpkg -b ${DebBuildDir} ${ReleasePkgDir}/${DebPkgFile}
cd ${ReleasePkgDir} cd ${ReleasePkgDir}
@@ -247,14 +234,6 @@ case "${pkgtype}" in
;; ;;
badeb) badeb)
echo "Begin to make ${pkgtype} package ======>" echo "Begin to make ${pkgtype} package ======>"
ReleasePkgDir=${ReleaseDir}/debs/${RelArch}
ProcList="restagent sshsvc"
cd $EmsBEDir
for procName in $ProcList;do
cd $EmsBEDir/$procName
echo "Make $procName ..."
make
done
VersionID=`grep VERSION_ID /etc/os-release` VersionID=`grep VERSION_ID /etc/os-release`
if [[ ${VersionID} =~ 'VERSION_ID="22.04"' ]]; then if [[ ${VersionID} =~ 'VERSION_ID="22.04"' ]]; then
@@ -263,6 +242,14 @@ case "${pkgtype}" in
DebFEBuildDir=${DebFEBuild2204Dir} DebFEBuildDir=${DebFEBuild2204Dir}
#DebPkgFile=${PROJECT}-${VERSION}-22.04-${Release).${PLATFORM).deb #DebPkgFile=${PROJECT}-${VERSION}-22.04-${Release).${PLATFORM).deb
DebPkgFile=${ProjectL}-r${RelVer}-ub22-ba.deb DebPkgFile=${ProjectL}-r${RelVer}-ub22-ba.deb
elif [[ ${VersionID} =~ 'VERSION_ID="24.04"' ]]; then
DebBuildDir=${DebBuild2204Dir}
DebBuildOMCDir=${DebBuild2204OMCDir}
DebFEBuildDir=${DebFEBuild2204Dir}
DebPkgFile=${PROJECT}-r${RelVer}-ub24.deb
if [ ! $ProjectTag = "" ]; then
DebPkgFile=${ProjectL}-r${RelVer}-ub24-${ProjectTag}.deb
fi
elif [[ ${VersionID} =~ 'VERSION_ID="18.04"' ]]; then elif [[ ${VersionID} =~ 'VERSION_ID="18.04"' ]]; then
DebPkgFile=${ProjectL}-r${RelVer}-ub18-ba.deb DebPkgFile=${ProjectL}-r${RelVer}-ub18-ba.deb
else else
@@ -306,6 +293,7 @@ case "${pkgtype}" in
echo "Replace all chinese character." echo "Replace all chinese character."
chmod +x ${DebBuildDir}/usr/local/omc/bin chmod +x ${DebBuildDir}/usr/local/omc/bin
sed -i "s/YYYYMMDD/${RelDate}/g" ${DebBuildDir}/DEBIAN/control sed -i "s/YYYYMMDD/${RelDate}/g" ${DebBuildDir}/DEBIAN/control
ReleasePkgDir=${ReleaseDir}/debs/${RelArch}
dpkg -b ${DebBuildDir} ${ReleasePkgDir}/${DebPkgFile} dpkg -b ${DebBuildDir} ${ReleasePkgDir}/${DebPkgFile}
cd ${ReleasePkgDir} cd ${ReleasePkgDir}
+13 -3
View File
@@ -76,7 +76,7 @@ buildcustomized=${builddir}/customized
customizeddir=${buildcustomized}/${c_arg}.d customizeddir=${buildcustomized}/${c_arg}.d
fedir=${rootdir}/fe.ems.vue3 fedir=${rootdir}/fe.ems.vue3
feassetsdir=${fedir}/src/assets feassetsdir=${fedir}/public
felocalesdir=${fedir}/src/i18n/locales felocalesdir=${fedir}/src/i18n/locales
feconstantsdir=${fedir}/src/constants feconstantsdir=${fedir}/src/constants
fehooksdir=${fedir}/src/hooks fehooksdir=${fedir}/src/hooks
@@ -89,8 +89,9 @@ makefe() {
# git checkout ${fehooksdir} # git checkout ${fehooksdir}
git pull git pull
if [ "${pkgtype}" == "badeb" ]; then if [ "${pkgtype}" == "badeb" ]; then
cp -rf ${customizeddir}/images/* ${feassetsdir} cp -rf ${customizeddir}/images/background_light.jpg ${feassetsdir}/background/light.jpg
cp -rf ${customizeddir}/locales/* ${felocalesdir} cp -rf ${customizeddir}/images/background_dark.jpg ${feassetsdir}/background/dark.jpg
cp -rf ${customizeddir}/locales/zh-CN.ts ${felocalesdir}/zh-CN.ts
find "${feconstantsdir}" -type f -name '*.ts' -exec sed -i 's/[一-龥()“”,。?!]~·]//g' {} + find "${feconstantsdir}" -type f -name '*.ts' -exec sed -i 's/[一-龥()“”,。?!]~·]//g' {} +
find "${fehooksdir}" -type f -name '*.ts' -exec sed -i 's/[一-龥()“”,。?!]~·]//g' {} + find "${fehooksdir}" -type f -name '*.ts' -exec sed -i 's/[一-龥()“”,。?!]~·]//g' {} +
fi fi
@@ -110,6 +111,15 @@ makefe() {
makebe() { makebe() {
cd ${builddir}/bin cd ${builddir}/bin
#chmod +x mkpkg.sh #chmod +x mkpkg.sh
EmsBEDir=${rootdir}/be.ems
ProcList="restagent sshsvc"
cd $EmsBEDir
for procName in $ProcList;do
cd $EmsBEDir/$procName
echo "Make $procName ..."
make
done
chmod +x build.sh chmod +x build.sh
./build.sh ${be_args[@]} ./build.sh ${be_args[@]}
} }
+6 -6
View File
@@ -107,12 +107,12 @@ fi
# fi # fi
# done # done
if ! id -u omc >/dev/null 2>&1 ; then # if ! id -u omc >/dev/null 2>&1 ; then
useradd -d /opt/omc -m -s /bin/bash -pomc123 omc; # useradd -d /opt/omc -m -s /bin/bash -pomc123 omc;
mkdir -p /opt/omc/ftp # mkdir -p /opt/omc/ftp
else # else
echo "user omc exist"; # echo "user omc exist";
fi # fi
if [ ! -e "${NginxConfDir}/omc.conf" ]; then if [ ! -e "${NginxConfDir}/omc.conf" ]; then
mkdir -p ${NginxConfDir} mkdir -p ${NginxConfDir}
+101
View File
@@ -0,0 +1,101 @@
#!/bin/bash
# front-end Catalog
WebDir=/root/omc.git/fe.ems.vue3
WebBranch=multi-tenant
BuildWeb=""
# back-end Catalog
ApiDir=/root/omc.git/be.ems
ApiBranch=multi-tenant
BuildApi=""
# Package Catalog
BuildDir=/root/omc.git/build.ems
BuildBranch=multi-tenant
# Default Version Value
VERSION="2.2508.1"
# usage
usage() {
echo "Usage: bash $0 [OPTION]"
echo
echo "Build Software Package OPTION:"
echo " -v Specify the version"
echo " --web Build Web ($WebDir) Branch ($WebBranch)"
echo " --api Build Api ($ApiDir) Branch ($ApiBranch)"
echo " -h Display this help message"
echo
exit 1
}
# Read command line arguments
while [[ $# -gt 0 ]]; do
case "$1" in
-v) VERSION="$2"; shift 2 ;;
--web) BuildWeb="build"; shift ;;
--api) BuildApi="build"; shift ;;
*) usage ;;
esac
done
# =================== build branch
echo
cd $BuildDir
rm -rf debbuild/*
git checkout .
git pull
git checkout $BuildBranch
git pull
echo "===> build checkout directory: $BuildDir"
# =================== Web
echo
# Determine if --web is passed in
if [ -n "$BuildWeb" ]; then
cd $WebDir
git checkout .
git pull
git checkout $WebBranch
git pull
sed -i "s/VITE_APP_VERSION = .*/VITE_APP_VERSION = \"${VERSION}\"/g" $WebDir/.env.development
sed -i "s/VITE_APP_VERSION = .*/VITE_APP_VERSION = \"${VERSION}\"/g" $WebDir/.env.production
cp -rf $BuildDir/customized/ba.d/images/background_light.jpg $WebDir/public/background/light.jpg
cp -rf $BuildDir/customized/ba.d/images/background_dark.jpg $WebDir/public/background/dark.jpg
cp -rf $BuildDir/customized/ba.d/locales/zh-CN.ts $WebDir/src/i18n/locales/zh-CN.ts
npm install --registry https://registry.npmmirror.com
npm run build
echo "===> build web directory: $WebDir"
fi
# =================== Api
echo
# Determine if --api is passed in
if [ -n "$BuildApi" ]; then
cd $ApiDir
git checkout .
git pull
git checkout $ApiBranch
git pull
ProcList="restagent sshsvc"
for procName in $ProcList;do
cd $ApiDir/$procName
sed -i "s/VERSION = .*/VERSION = ${VERSION}/g" $ApiDir/$procName/makefile
echo "Make $procName ..."
make
done
echo "===> build api directory: $ApiDir"
fi
# =================== ba deb
echo
cd $BuildDir
sed -i "s/VERSION=.*/VERSION=${VERSION}/g" $BuildDir/bin/build.sh
sed -i "s/Version: .*/Version: ${VERSION}-YYYYMMDD-mt/g" $BuildDir/debbuild/DEBIAN/control
sed -i "s/Version: .*/Version: ${VERSION}-YYYYMMDD-mt/g" $BuildDir/debbuild/22.04/DEBIAN/control
sed -i "s/Version: .*/Version: ${VERSION}/g" $BuildDir/rpmbuild/SPECS/omc.spec
bash bin/build.sh badeb
# bash pkg.sh --web --api -v 2.2508.1
# bash pkg.sh --web --api