Compare commits
10
Commits
ec756261be
...
c77981e587
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c77981e587 | ||
|
|
745ec999b4 | ||
|
|
1054da9b4e | ||
|
|
6226809e8d | ||
|
|
86f994cbe6 | ||
|
|
6ff8e49cf6 | ||
|
|
858eec188a | ||
|
|
73911f3192 | ||
|
|
8f50df5bd1 | ||
|
|
f9a2a84144 |
No files matched your search
@@ -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
@@ -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
@@ -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[@]}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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}
|
||||||
|
|||||||
@@ -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
|
||||||
Reference in new issue
Block a user