comleting the migration to net 7.0

main
Paul Schneider 1 year ago
parent 6bc5c647a0
commit 87d2e85f70
3 changed files with 31 additions and 253 deletions

@ -1,131 +0,0 @@
#!/bin/bash
### BEGIN INIT INFO
# Provides: kestrel
# Required-Start: $local_fs $network $named $time $syslog $postgresql
# Required-Stop: $local_fs $network $named $time $syslog $postgresql
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Script to run asp.net 5 application in background
### END INIT INFO
# Author: Ivan Derevianko aka druss <drussilla7@gmail.com>
# Modified by: Paul Schneider <redienhcs.luap@gmail.com>
. /lib/init/vars.sh
. /lib/lsb/init-functions
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
CONFIGS="/etc/kestrel/*.webenv"
TMP_SAVE_runlevel_VAR=$runlevel
unset runlevel
running() {
if [ -f $PIDFILE ]
then
PID=$(cat $PIDFILE)
if kill -0 $PID 2>/dev/null
then
return 0
fi
fi
return 1
}
setdnxenv() {
env=$1
. $env
# reset all except the name to default values
export ASPNET_ENV=$NAME
export WWW_USER=www-data
YAVSCBIN=/usr/local/bin/yavscd
PROJECT=approot/Web
CONFIGURATION=Release
ROOT=/srv/www/yavsc
DESC="$NAME"
PIDFILE=/var/run/kestrel-${NAME}.pid
LOGDIR=/var/log
# reset to specified values
. $env
}
status() {
for env in $CONFIGS
do
setdnxenv "$env"
if running;
then
echo "Service running $DESC ($NAME; pid: $PID)"
else
echo "Service stopped $DESC ($NAME)"
fi
done
}
start() {
# wait a little for postgresql to be available
sleep 1
for env in $CONFIGS
do
setdnxenv "$env"
if running; then
echo "Service already running $DESC" "$NAME"
log_end_msg 0
else
log_daemon_msg "Starting service $NAME for user $WWW_USER"
if ! start-stop-daemon -SbmCv -u $WWW_USER -p $PIDFILE -d $ROOT -g www-data -x $YAVSCBIN -- --project $PROJECT --configuration $CONFIGURATION $NAME > "${LOGDIR}/kestrel-${NAME}.log"
then
log_daemon_msg "Could not start $NAME : $?, see ${LOGDIR}/kestrel-${NAME}.log"
log_end_msg 2
else
log_daemon_msg "Service $DESC started ($NAME), logs: ${LOGDIR}/kestrel-${NAME}.log"
log_end_msg 0
fi
fi
done
}
stop() {
for env in $CONFIGS
do
setdnxenv "$env"
if running
then
log_daemon_msg "Stopping service $NAME"
start-stop-daemon -K -p "$PIDFILE"
log_daemon_msg "$DESC stopped"
log_end_msg 0
else
log_daemon_msg "$DESC Service not running"
log_end_msg 1
fi
done
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 1
start
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|restart}"
esac
export runlevel=$TMP_SAVE_runlevel_VAR

@ -1,11 +1,11 @@
#!/bin/bash #!/bin/bash
### BEGIN INIT INFO ### BEGIN INIT INFO
# Provides: kestrel-pre # Provides: yavsc
# Required-Start: $local_fs $network $named $time $syslog $postgresql # Required-Start: $local_fs $network $named $time $syslog $postgresql
# Required-Stop: $local_fs $network $named $time $syslog $postgresql # Required-Stop: $local_fs $network $named $time $syslog $postgresql
# Default-Start: 2 3 4 5 # Default-Start: 2 3 4 5
# Default-Stop: 0 1 6 # Default-Stop: 0 1 6
# Description: Script to run asp.net 5 application in background # Description: Script to run yavsc
### END INIT INFO ### END INIT INFO
# Author: Ivan Derevianko aka druss <drussilla7@gmail.com> # Author: Ivan Derevianko aka druss <drussilla7@gmail.com>
@ -14,8 +14,9 @@
. /lib/init/vars.sh . /lib/init/vars.sh
. /lib/lsb/init-functions . /lib/lsb/init-functions
NAME=yavsc
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
CONFIGS="/etc/kestrel/*.prewebenv"
TMP_SAVE_runlevel_VAR=$runlevel TMP_SAVE_runlevel_VAR=$runlevel
unset runlevel unset runlevel
@ -33,47 +34,34 @@ running() {
} }
setdnxenv() { export WWW_USER=www-data
env=$1 export ROOT=/srv/www/${NAME}
. $env export DESC="$NAME"
# reset all except the name to default values export PIDFILE=/var/run/kestrel-${NAME}.pid
export ASPNET_ENV=$NAME export LOGDIR=/var/log
export WWW_USER=www-data export DOTNET_CLI_HOME=$ROOT
YAVSCBIN=/usr/local/bin/yavscd-pre export ASPDOTNETCORE_ENVIRONMENT=Production
PROJECT=approot/Web export ASPDOTNETCORE_LOGLEVEL=Information
CONFIGURATION=Release
ROOT=/srv/www/yavscpre
DESC="$NAME"
PIDFILE=/var/run/kestrel-${NAME}.pid
LOGDIR=/var/log
# reset to specified values
. $env
}
status() { status() {
for env in $CONFIGS
do
setdnxenv "$env"
if running; if running;
then then
echo "Service running $DESC ($NAME; pid: $PID)" echo "Service running $DESC ($NAME; pid: $PID)"
else else
echo "Service stopped $DESC ($NAME)" echo "Service stopped $DESC ($NAME)"
fi fi
done echo WWW_USER: $WWW_USER ROOT:$ROOT DESC: $DESC NAME: $NAME PIDFILE: $PIDFILE LOGDIR=$LOGDIR
} }
start() { start() {
for env in $CONFIGS
do
setdnxenv "$env"
if running; then if running; then
echo "Service already running $DESC" "$NAME" echo "Service already running $DESC" "$NAME"
log_end_msg 0 log_end_msg 0
else else
cd $ROOT
sleep 4
log_daemon_msg "Starting service $NAME for user $WWW_USER" log_daemon_msg "Starting service $NAME for user $WWW_USER"
if ! start-stop-daemon -SbmCv -u $WWW_USER -p $PIDFILE -d $ROOT -g www-data -x $YAVSCBIN -- --project $PROJECT --configuration $CONFIGURATION $NAME > "${LOGDIR}/kestrel-${NAME}.log" if ! start-stop-daemon -SbmCv -u $WWW_USER -p $PIDFILE -d $ROOT -g www-data -x yavsc > "${LOGDIR}/kestrel-${NAME}.log"
then then
log_daemon_msg "Could not start $NAME : $?, see ${LOGDIR}/kestrel-${NAME}.log" log_daemon_msg "Could not start $NAME : $?, see ${LOGDIR}/kestrel-${NAME}.log"
log_end_msg 2 log_end_msg 2
@ -82,14 +70,10 @@ start() {
log_end_msg 0 log_end_msg 0
fi fi
fi fi
done
} }
stop() { stop() {
for env in $CONFIGS
do
setdnxenv "$env"
if running if running
then then
log_daemon_msg "Stopping service $NAME" log_daemon_msg "Stopping service $NAME"
@ -100,7 +84,6 @@ stop() {
log_daemon_msg "$DESC Service not running" log_daemon_msg "$DESC Service not running"
log_end_msg 1 log_end_msg 1
fi fi
done
} }
@ -113,7 +96,6 @@ case "$1" in
;; ;;
restart) restart)
stop stop
sleep 1
start start
;; ;;
status) status)

@ -1,80 +1,30 @@
DESTDIR=/srv/www/yavscpre DESTDIR=/srv/www/yavsc
PRODDESTDIR=/srv/www/yavsc
HOSTING=localhost HOSTING=localhost
ASPNET_LOG_LEVEL=debug ASPNET_LOG_LEVEL=debug
SOURCE_DIR=../.. SOURCE_DIR=../..
MAKEFILE_DIR=$(SOURCE_DIR)/scripts/make USER=www-data
BASERESX= Resources/Yavsc.Models.IT.Fixing.Resources.resx \ HOSTING_PRE=yavsv.pschneider.fr
Resources/Yavsc.ViewComponents.CommentViewComponent.resx \ CONFIGURATION=Debug
Resources/Yavsc.ViewModels.FrontOffice.PerformerProfileViewModel.resx \ SERVICE_PRE=Yavsc
Resources/Yavsc.ViewModels.EnrolerViewModel.resx \
Resources/Yavsc.YavscLocalisation.resx
BASERESXGEN=$(BASERESX:.resx=.Designer.cs)
MCS_OPTIONS=-debug
MONO_OPTIONS=--debug
include $(MAKEFILE_DIR)/dnx.mk all:
include $(MAKEFILE_DIR)/versioning.mk dotnet build
MINJS=wwwroot/js/bootstrap.min.js wwwroot/js/input-lib.min.js wwwroot/js/jquery.signalR-2.2.1.min.js wwwroot/js/quill.min.js wwwroot/js/chat.min.js wwwroot/js/jquery-2.2.4.min.js wwwroot/js/jquery-ui.min.js wwwroot/js/showdown.min.js wwwroot/js/comment.min.js wwwroot/js/jquery-3.2.1.min.js wwwroot/js/md-helpers.min.js wwwroot/js/site.min.js wwwroot/js/dropzone.min.js wwwroot/js/jquery-migrate-3.0.0.min.js wwwroot/js/parallax.min.js wwwroot/js/str.min.js wwwroot/js/google-geoloc.min.js wwwroot/js/jquery.min.js wwwroot/js/paypalbutton.min.js wwwroot/js/to-markdown.min.js
MINCSS=wwwroot/css/coiffure.min.css wwwroot/css/dev.min.css wwwroot/css/freespeech.min.css wwwroot/css/yavsc.min.css wwwroot/css/default.min.css wwwroot/css/font-awesome.min.css wwwroot/css/lua.min.css wwwroot/css/yavscpre.min.css wwwroot/css/clear/site.min.css wwwroot/css/main/bootstrap.min.css wwwroot/css/main/jquery-ui.min.css wwwroot/css/main/site.min.css wwwroot/css/dark/site.min.css wwwroot/css/main/dropzone.min.css wwwroot/css/main/quill.snow.min.css
web: project.lock.json
MCS_OPTIONS=$(MCS_OPTIONS) MONO_OPTIONS=$(MONO_OPTIONS) ASPNET_LOG_LEVEL=$(ASPNET_LOG_LEVEL) ASPNET_ENV=$(ASPNET_ENV) dnx web --configuration=$(CONFIGURATION) |tee web.log
start_debug:
ASPNET_ENV=Development mono --debugger-agent=transport=dt_socket,server=y,address=127.0.0.1:4669 /home/paul/.dnx/runtimes/dnx-mono.1.0.0-rc1-update2/bin/Microsoft.Dnx.Host.Mono.dll web
nweb:
MONO_PATH=$(MONO_PATH):~/.dnx/runtimes/dnx-mono.1.0.0-rc1-update2/bin ~/.dnx/runtimes/dnx-mono.1.0.0-rc1-update2/bin/ndnx web
showConfig: showConfig:
@echo HOSTING: $(USER)@$(HOSTING) @echo HOSTING_PRE: $(USER)@$(HOSTING_PRE)
@echo ENV: $(ASPNET_ENV)
@echo CONFIGURATION: $(CONFIGURATION) @echo CONFIGURATION: $(CONFIGURATION)
@echo DESTDIR: $(DESTDIR) @echo DESTDIR: $(DESTDIR)
@echo PRODDESTDIR: $(PRODDESTDIR) @echo SERVICE_PRE: $(SERVICE_PRE)
status:
ifeq ($(git_status),0)
@echo Nothing to be done.
else
@echo There are pending changes:
@git status
endif
publish: publish:
ASPNET_ENV=$(ASPNET_ENV) dnu publish ASPNETCORE_ENV=$(CONFIGURATION) dotnet publish
deploy-pkg: publish
deploy: pushInPre pushInProd pushInPre: publish
sudo service $(SERVICE_PRE) stop
pushInPre: cleanoutput bin/output/wwwroot/version ../../yavscd-pre sudo cp -a bin/Debug/net7.0/publish/* $(DESTDIR)
sudo service kestrel-pre stop sudo chown -R $(USER) $(DESTDIR)
sudo rm -rf $(DESTDIR)/approot
sudo cp -a bin/output/* $(DESTDIR)
sudo cp ../../yavscd /usr/local/bin/yavscd-pre
sudo sync sudo sync
sudo service kestrel-pre start sudo service $(SERVICE_PRE) start
pushInProd: cleanoutput bin/output/wwwroot/version ../../yavscd
ifeq ($(git_status),0)
sudo service kestrel stop
sudo rm -rf $(PRODDESTDIR)/approot
sudo cp -a bin/output/* $(PRODDESTDIR)
sudo cp ../../yavscd /usr/local/bin/yavscd
sudo sync
sudo service kestrel start
else
$(error EPRODANDGITSTATUS! Refus de pousser en production: des changements doivent être validés auprès du contrôle de versions.)
endif
cleanPublish: pushInPre pushInProd
rm -rf bin/output/
%.min.js: %.js %.min.js: %.js
jsmin < $^ > $@ jsmin < $^ > $@
@ -84,26 +34,3 @@ cleanPublish: pushInPre pushInProd
%.Designer.cs: %.resx %.Designer.cs: %.resx
strongresbuildercli -l -p -t -r "Yavsc.Resources." $^ strongresbuildercli -l -p -t -r "Yavsc.Resources." $^
prepare_code: $(BASERESXGEN)
web_rebuild:
make -C ../Yavsc.Abstract
make -C ../Yavsc.Server
make bin/Debug/dnx451/Yavsc.dll
minJs: $(MINJS)
minCss: $(MINCSS)
minify: minCss minJs
prepare_mvc_templates: $(SOURCE_DIR)/scripts/configure/tools/mvc-code-generators/new-templates/ViewGenerator/Create.cshtml \
$(SOURCE_DIR)/scripts/configure/tools/mvc-code-generators/new-templates/ViewGenerator/Delete.cshtml \
$(SOURCE_DIR)/scripts/configure/tools/mvc-code-generators/new-templates/ViewGenerator/Edit.cshtml \
$(SOURCE_DIR)/scripts/configure/tools/mvc-code-generators/new-templates/ViewGenerator/List.cshtml \
$(SOURCE_DIR)/scripts/configure/tools/mvc-code-generators/new-templates/ViewGenerator/Details.cshtml
cp $^ $(SOURCE_DIR)/packages/Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final/Templates/ViewGenerator/
$(BINTARGETPATH): $(BASERESXGEN) project.lock.json

Loading…