DocSpace-buildtools/install/common/publish-backend.sh

112 lines
3.8 KiB
Bash
Raw Normal View History

#!/bin/bash
set -xe
SRC_PATH="/AppServer"
BUILD_PATH="/publish"
SELF_CONTAINED="false"
ARGS=""
PUBLISH_CNF="Release"
while [ "$1" != "" ]; do
case $1 in
-sp | --srcpath )
if [ "$2" != "" ]; then
SRC_PATH=$2
BUILD_PATH=${SRC_PATH}/publish
shift
fi
;;
-bp | --buildpath )
if [ "$2" != "" ]; then
BUILD_PATH=$2
shift
fi
;;
-sc | --self-contained )
if [ "$2" != "" ]; then
SELF_CONTAINED=$2
shift
fi
;;
-ar | --arguments )
if [ "$2" != "" ]; then
ARGS=$2
shift
fi
;;
-pc | --publish-configuration )
if [ "$2" != "" ]; then
PUBLISH_CNF=$2
shift
fi
;;
-? | -h | --help )
echo " Usage: bash publish-backend.sh [PARAMETER] [[PARAMETER], ...]"
echo " Parameters:"
echo " -sp, --srcpath path to AppServer root directory (by default=/AppServer)"
echo " -bp, --buildpath path where generated output is placed (by default=/publish)"
echo " -sc, --self-contained publish the .NET runtime with your application (by default=false)"
echo " -ar, --arguments additional arguments publish the .NET runtime with your application"
echo " -pc, --publish-configuration dotnet publish configuration Ex. Release/Debug"
echo " -?, -h, --help this help"
echo " Examples"
echo " bash publish-backend.sh -sp /app/AppServer"
exit 0
;;
* )
echo "Unknown parameter $1" 1>&2
exit 1
;;
esac
shift
done
# Array of names server in directory products
2022-07-05 15:09:51 +00:00
servers_products_name_backend=()
servers_products_name_backend+=(ASC.Files)
servers_products_name_backend+=(ASC.People)
# Publish server backend products
for i in ${!servers_products_name_backend[@]}; do
echo "== Publish ${servers_products_name_backend[$i]}.csproj project =="
SERVICE_DIR="$(dirname "$(find ${SRC_PATH} -type f -name "${servers_products_name_backend[$i]}".csproj)")"
cd ${SERVICE_DIR}
dotnet publish -c ${PUBLISH_CNF} --self-contained ${SELF_CONTAINED} ${ARGS} -o ${BUILD_PATH}/products/${servers_products_name_backend[$i]}/server/
done
# Array of names backend services
2022-07-05 15:09:51 +00:00
services_name_backend=()
services_name_backend+=(ASC.Data.Backup)
services_name_backend+=(ASC.Files.Service)
services_name_backend+=(ASC.Notify)
services_name_backend+=(ASC.Studio.Notify)
services_name_backend+=(ASC.Web.Api)
services_name_backend+=(ASC.Web.Studio)
2022-06-02 07:50:36 +00:00
services_name_backend+=(ASC.Data.Backup.BackgroundTasks)
services_name_backend+=(ASC.ClearEvents)
2022-10-27 10:39:21 +00:00
services_name_backend+=(ASC.ApiSystem)
services_name_backend+=(ASC.Web.HealthChecks.UI)
# Publish backend services
for i in ${!services_name_backend[@]}; do
echo "== Publish ${services_name_backend[$i]}.csproj project =="
SERVICE_DIR="$(dirname "$(find ${SRC_PATH} -type f -name "${services_name_backend[$i]}".csproj)")"
cd ${SERVICE_DIR}
dotnet publish -c ${PUBLISH_CNF} --self-contained ${SELF_CONTAINED} ${ARGS} -o ${BUILD_PATH}/services/${services_name_backend[$i]}/service/
done
2022-07-05 15:09:51 +00:00
# Array of names backend services in directory common (Nodejs)
services_name_backend_nodejs=()
services_name_backend_nodejs+=(ASC.Socket.IO)
services_name_backend_nodejs+=(ASC.SsoAuth)
# Publish backend services (Nodejs)
for i in ${!services_name_backend_nodejs[@]}; do
echo "== Publish ${services_name_backend_nodejs[$i]} project =="
SERVICE_DIR="$(find ${SRC_PATH} -type d -name ${services_name_backend_nodejs[$i]})"
cd ${SERVICE_DIR}
mkdir -p ${BUILD_PATH}/services/${services_name_backend_nodejs[$i]}/service/ && cp -arfv ./* ${BUILD_PATH}/services/${services_name_backend_nodejs[$i]}/service/
done