diff --git a/contrib/kestrel b/contrib/kestrel deleted file mode 100755 index 9c62afce..00000000 --- a/contrib/kestrel +++ /dev/null @@ -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 -# Modified by: Paul Schneider - -. /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 - - diff --git a/contrib/kestrel-pre b/contrib/yavsc similarity index 68% rename from contrib/kestrel-pre rename to contrib/yavsc index 0ede605d..aa31221c 100644 --- a/contrib/kestrel-pre +++ b/contrib/yavsc @@ -1,11 +1,11 @@ #!/bin/bash ### BEGIN INIT INFO -# Provides: kestrel-pre +# Provides: yavsc # 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 +# Description: Script to run yavsc ### END INIT INFO # Author: Ivan Derevianko aka druss @@ -14,8 +14,9 @@ . /lib/init/vars.sh . /lib/lsb/init-functions +NAME=yavsc + PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin -CONFIGS="/etc/kestrel/*.prewebenv" TMP_SAVE_runlevel_VAR=$runlevel unset runlevel @@ -33,47 +34,34 @@ running() { } -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-pre - PROJECT=approot/Web - CONFIGURATION=Release - ROOT=/srv/www/yavscpre - DESC="$NAME" - PIDFILE=/var/run/kestrel-${NAME}.pid - LOGDIR=/var/log - # reset to specified values - . $env -} - +export WWW_USER=www-data +export ROOT=/srv/www/${NAME} +export DESC="$NAME" +export PIDFILE=/var/run/kestrel-${NAME}.pid +export LOGDIR=/var/log +export DOTNET_CLI_HOME=$ROOT +export ASPDOTNETCORE_ENVIRONMENT=Production +export ASPDOTNETCORE_LOGLEVEL=Information 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 + echo WWW_USER: $WWW_USER ROOT:$ROOT DESC: $DESC NAME: $NAME PIDFILE: $PIDFILE LOGDIR=$LOGDIR } start() { - for env in $CONFIGS - do - setdnxenv "$env" if running; then echo "Service already running $DESC" "$NAME" log_end_msg 0 else + cd $ROOT + sleep 4 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 log_daemon_msg "Could not start $NAME : $?, see ${LOGDIR}/kestrel-${NAME}.log" log_end_msg 2 @@ -82,14 +70,10 @@ start() { log_end_msg 0 fi fi - done } stop() { - for env in $CONFIGS - do - setdnxenv "$env" if running then log_daemon_msg "Stopping service $NAME" @@ -100,7 +84,6 @@ stop() { log_daemon_msg "$DESC Service not running" log_end_msg 1 fi - done } @@ -113,7 +96,6 @@ case "$1" in ;; restart) stop - sleep 1 start ;; status) diff --git a/src/Yavsc/Makefile b/src/Yavsc/Makefile index 1d0b453e..aafc43ac 100644 --- a/src/Yavsc/Makefile +++ b/src/Yavsc/Makefile @@ -1,80 +1,30 @@ -DESTDIR=/srv/www/yavscpre -PRODDESTDIR=/srv/www/yavsc +DESTDIR=/srv/www/yavsc HOSTING=localhost ASPNET_LOG_LEVEL=debug SOURCE_DIR=../.. -MAKEFILE_DIR=$(SOURCE_DIR)/scripts/make -BASERESX= Resources/Yavsc.Models.IT.Fixing.Resources.resx \ - Resources/Yavsc.ViewComponents.CommentViewComponent.resx \ - Resources/Yavsc.ViewModels.FrontOffice.PerformerProfileViewModel.resx \ - Resources/Yavsc.ViewModels.EnrolerViewModel.resx \ - Resources/Yavsc.YavscLocalisation.resx -BASERESXGEN=$(BASERESX:.resx=.Designer.cs) -MCS_OPTIONS=-debug -MONO_OPTIONS=--debug +USER=www-data +HOSTING_PRE=yavsv.pschneider.fr +CONFIGURATION=Debug +SERVICE_PRE=Yavsc -include $(MAKEFILE_DIR)/dnx.mk -include $(MAKEFILE_DIR)/versioning.mk - -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 +all: + dotnet build showConfig: - @echo HOSTING: $(USER)@$(HOSTING) - @echo ENV: $(ASPNET_ENV) + @echo HOSTING_PRE: $(USER)@$(HOSTING_PRE) @echo CONFIGURATION: $(CONFIGURATION) @echo DESTDIR: $(DESTDIR) - @echo PRODDESTDIR: $(PRODDESTDIR) - -status: -ifeq ($(git_status),0) - @echo Nothing to be done. -else - @echo There are pending changes: - @git status -endif + @echo SERVICE_PRE: $(SERVICE_PRE) publish: - ASPNET_ENV=$(ASPNET_ENV) dnu publish - -deploy-pkg: publish - -deploy: pushInPre pushInProd - -pushInPre: cleanoutput bin/output/wwwroot/version ../../yavscd-pre - sudo service kestrel-pre stop - sudo rm -rf $(DESTDIR)/approot - sudo cp -a bin/output/* $(DESTDIR) - sudo cp ../../yavscd /usr/local/bin/yavscd-pre - sudo sync - sudo service kestrel-pre start + ASPNETCORE_ENV=$(CONFIGURATION) dotnet publish -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 +pushInPre: publish + sudo service $(SERVICE_PRE) stop + sudo cp -a bin/Debug/net7.0/publish/* $(DESTDIR) + sudo chown -R $(USER) $(DESTDIR) 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/ + sudo service $(SERVICE_PRE) start %.min.js: %.js jsmin < $^ > $@ @@ -84,26 +34,3 @@ cleanPublish: pushInPre pushInProd %.Designer.cs: %.resx 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 -