„deb/service-build.sh“ ändern
This commit is contained in:
parent
debbafa171
commit
a3fb3d7217
@ -5,67 +5,75 @@ usage() {
|
||||
echo "usage: " \
|
||||
"NAME=app " \
|
||||
"DESCRIPTION=Testapp " \
|
||||
"EXEPATH=testapp" \
|
||||
"EXEARGUMENTS=-v" \
|
||||
"EXEPATH=testapp " \
|
||||
"[USERNAMEGROUP=appuser " \
|
||||
"EXEARGUMENTS=-v " \
|
||||
"RUNNER=/bin/dotnet " \
|
||||
"ENVIROMENTVARS=test HOME " \
|
||||
"LOGOUTPUT=syslog] " \
|
||||
"sh service-build.sh"
|
||||
exit 1
|
||||
}
|
||||
|
||||
echo "DEB Builder service-file: https://github.com/linksmart/ci-scripts/blob/master/deb/service-build.sh"
|
||||
echo "DEB Builder service-file: https://git.blubbfish.net/vs_utils/CI-Scripts/src/branch/master/deb/service-build.sh"
|
||||
|
||||
if [[ -z "$DESCRIPTION" ]]; then
|
||||
if [[ -z "${DESCRIPTION}" ]]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
if [[ -z "$NAME" ]]; then
|
||||
if [[ -z "${NAME}" ]]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
if [[ -z "$EXEPATH" ]]; then
|
||||
if [ -z "${USERNAMEGROUP}" ]; then
|
||||
USERNAMEGROUP="${NAME}bot"
|
||||
fi
|
||||
|
||||
if [[ -z "${EXEPATH}" ]]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
if [[ -z "$EXEARGUMENTS" ]]; then
|
||||
usage
|
||||
if [[ -z "${EXEARGUMENTS}" ]]; then
|
||||
EXEARGUMENTS=" "
|
||||
fi
|
||||
|
||||
INSTLOCAL="/usr/local/bin/$NAME"
|
||||
BINARY="$INSTLOCAL/$EXEPATH"
|
||||
INSTLOCAL="/usr/local/bin/${NAME}"
|
||||
BINARY="$INSTLOCAL/${EXEPATH}"
|
||||
|
||||
if [[ -z "$RUNNER" ]]; then
|
||||
RUNNER="$BINARY"
|
||||
if [[ -z "${RUNNER}" ]]; then
|
||||
RUNNER="${BINARY}"
|
||||
else
|
||||
EXEARGUMENTS="$BINARY $EXEARGUMENTS"
|
||||
EXEARGUMENTS="${BINARY} ${EXEARGUMENTS}"
|
||||
fi
|
||||
|
||||
echo "[Unit]" > service-$NAME
|
||||
echo "Description=$DESCRIPTION" >> service-$NAME
|
||||
echo "After=network-online.target" >> service-$NAME
|
||||
echo "Wants=network-online.target" >> service-$NAME
|
||||
echo "" >> service-$NAME
|
||||
echo "[Service]" >> service-$NAME
|
||||
echo "User=${NAME}bot" >> service-$NAME
|
||||
echo "Group=${NAME}bot" >> service-$NAME
|
||||
echo "WorkingDirectory=$INSTLOCAL" >> service-$NAME
|
||||
if [[ -n "$ENVIROMENTVARS" ]]; then
|
||||
for enviromentvar in $ENVIROMENTVARS
|
||||
echo "[Unit]" > service-${NAME}
|
||||
echo "Description=${DESCRIPTION}" >> service-${NAME}
|
||||
echo "After=network-online.target" >> service-${NAME}
|
||||
echo "Wants=network-online.target" >> service-${NAME}
|
||||
echo "" >> service-${NAME}
|
||||
echo "[Service]" >> service-${NAME}
|
||||
echo "User=${USERNAMEGROUP}" >> service-${NAME}
|
||||
echo "Group=${USERNAMEGROUP}" >> service-${NAME}
|
||||
echo "WorkingDirectory=${INSTLOCAL}" >> service-${NAME}
|
||||
if [[ -n "${ENVIROMENTVARS}" ]]; then
|
||||
for enviromentvar in ${ENVIROMENTVARS}
|
||||
do
|
||||
echo "Environment=\"${enviromentvar}\"" >> service-$NAME
|
||||
echo "Environment=\"${enviromentvar}\"" >> service-${NAME}
|
||||
done
|
||||
fi
|
||||
echo "PermissionsStartOnly=true" >> service-$NAME
|
||||
echo "ExecStartPre=setcap 'cap_net_bind_service=+ep' $RUNNER" >> service-$NAME
|
||||
echo "ExecStart=$RUNNER $EXEARGUMENTS" >> service-$NAME
|
||||
echo "KillMode=control-group" >> service-$NAME
|
||||
echo "TimeoutStopSec=5" >> service-$NAME
|
||||
echo "Restart=on-failure" >> service-$NAME
|
||||
if [[ -n "$LOGOUTPUT" ]]; then
|
||||
echo "StandardOutput=$LOGOUTPUT" >> service-$NAME
|
||||
echo "PermissionsStartOnly=true" >> service-${NAME}
|
||||
echo "ExecStartPre=setcap 'cap_net_bind_service=+ep' ${RUNNER}" >> service-${NAME}
|
||||
echo "ExecStart=${RUNNER} ${EXEARGUMENTS}" >> service-${NAME}
|
||||
echo "KillMode=control-group" >> service-${NAME}
|
||||
echo "TimeoutStopSec=5" >> service-${NAME}
|
||||
echo "Restart=on-failure" >> service-${NAME}
|
||||
if [[ -n "${LOGOUTPUT}" ]]; then
|
||||
echo "StandardOutput=${LOGOUTPUT}" >> service-${NAME}
|
||||
else
|
||||
echo "StandardOutput=null" >> service-$NAME
|
||||
echo "StandardOutput=null" >> service-${NAME}
|
||||
fi
|
||||
echo "StandardError=syslog" >> service-$NAME
|
||||
echo "" >> service-$NAME
|
||||
echo "[Install]" >> service-$NAME
|
||||
echo "WantedBy=multi-user.target" >> service-$NAME
|
||||
echo "Alias=$NAME.service" >> service-$NAME
|
||||
echo "StandardError=syslog" >> service-${NAME}
|
||||
echo "" >> service-${NAME}
|
||||
echo "[Install]" >> service-${NAME}
|
||||
echo "WantedBy=multi-user.target" >> service-${NAME}
|
||||
echo "Alias=${NAME}.service" >> service-${NAME}
|
Loading…
Reference in New Issue
Block a user