yavscd in prod

vnext
Paul Schneider 5 years ago
parent 9e742818ef
commit ae5e85bf9d
21 changed files with 75 additions and 137 deletions

1
.gitignore vendored

@ -34,3 +34,4 @@ omnisharp.json
connectionsettings.Development.json
appsettings.Development.json
/src/Yavsc/web.log
yavscd

@ -2,8 +2,8 @@ LIBS:=$(shell ls private/lib/*.dll)
MONO_PREFIX=/home/paul/mono46
DNX_USER_HOME=/home/paul/.dnx
DNXLIBS=Microsoft.Dnx.Host.Mono.dll Microsoft.Dnx.Host.dll Microsoft.Dnx.ApplicationHost.dll Microsoft.Dnx.Loader.dll Microsoft.Dnx.Compilation.Abstractions.dll Microsoft.Dnx.Compilation.CSharp.Abstractions.dll Microsoft.CodeAnalysis.dll Microsoft.CodeAnalysis.CSharp.dll Microsoft.Dnx.Compilation.CSharp.Common.dll Microsoft.Dnx.Compilation.CSharp.dll Microsoft.Dnx.Compilation.dll Microsoft.Dnx.Runtime.dll Microsoft.Dnx.Runtime.Internals.dll Microsoft.Extensions.PlatformAbstractions.dll System.Collections.Immutable.dll System.Reflection.Metadata.dll
DNXLIBFP:=$(addprefix $(DNX_USER_HOME)/runtimes/dnx-mono.1.0.0-rc1-update2/bin/, $(DNXLIBS))
CONFIG=Debug
checklibs:
ls $(DNXLIBFP)
@ -31,8 +31,22 @@ prepare_all_code:
make -C src/Yavsc.Server prepare_code
make -C src/Yavsc prepare_code
bundle:
#export MONO_PATH=$(DNX_USER_HOME)/runtimes/dnx-mono.1.0.0-rc1-update2/bin/
mkbundle --static $(DNXLIBS) src/Yavsc/bin/Debug/dnx451/Yavsc.dll src/Yavsc/bin/Debug/dnx451/pt/Yavsc.resources.dll src/Yavsc/bin/Debug/dnx451/en/Yavsc.resources.dll src/Yavsc.Server/bin/Debug/dnx451/Yavsc.Server.dll src/Yavsc.Server/bin/Debug/dnx451/en/Yavsc.Server.resources.dll src/Yavsc.Server/bin/Debug/dnx451/fr/Yavsc.Server.resources.dll src/Yavsc.Abstract/bin/Debug/dnx451/Yavsc.Abstract.dll src/Yavsc.Abstract/bin/Debug/dnx451/en/Yavsc.Abstract.resources.dll src/Yavsc.Abstract/bin/Debug/dnx451/pt/Yavsc.Abstract.resources.dll src/OAuth.AspNet.AuthServer/bin/Debug/dnx451/OAuth.AspNet.AuthServer.dll src/OAuth.AspNet.Token/bin/Debug/dnx451/OAuth.AspNet.Token.dll $(LIBS) -L $(DNX_USER_HOME)/runtimes/dnx-mono.1.0.0-rc1-update2/bin --machine-config $(MONO_PREFIX)/etc/mono/4.5/machine.config -o yavsc-dev
src/Yavsc.Abstract/bin/$(CONFIG)/dnx451/Yavsc.Abstract.dll: prepare_all_code
make -C src/Yavsc.Abstract CONFIGURATION=$(CONFIG)
src/OAuth.AspNet.Token/bin/$(CONFIG)/dnx451/OAuth.AspNet.Token.dll: prepare_all_code
make -C src/OAuth.AspNet.Token CONFIGURATION=$(CONFIG)
src/OAuth.AspNet.AuthServer/bin/$(CONFIG)/dnx451/OAuth.AspNet.AuthServer.dll: prepare_all_code
make -C src/OAuth.AspNet.AuthServer CONFIGURATION=$(CONFIG)
src/Yavsc.Server/bin/$(CONFIG)/dnx451/Yavsc.Server.dll: src/Yavsc.Abstract/bin/$(CONFIG)/dnx451/Yavsc.Abstract.dll prepare_all_code
make -C src/Yavsc.Server CONFIGURATION=$(CONFIG)
src/Yavsc/bin/$(CONFIG)/dnx451/Yavsc.dll: src/Yavsc.Server/bin/$(CONFIG)/dnx451/Yavsc.Server.dll src/Yavsc.Abstract/bin/$(CONFIG)/dnx451/Yavsc.Abstract.dll src/OAuth.AspNet.AuthServer/bin/$(CONFIG)/dnx451/OAuth.AspNet.AuthServer.dll src/OAuth.AspNet.Token/bin/$(CONFIG)/dnx451/OAuth.AspNet.Token.dll
make -C src/Yavsc CONFIGURATION=$(CONFIG)
bundle: src/Yavsc/bin/$(CONFIG)/dnx451/Yavsc.dll src/Yavsc.Server/bin/$(CONFIG)/dnx451/Yavsc.Server.dll src/Yavsc.Abstract/bin/$(CONFIG)/dnx451/Yavsc.Abstract.dll src/OAuth.AspNet.AuthServer/bin/$(CONFIG)/dnx451/OAuth.AspNet.AuthServer.dll src/OAuth.AspNet.Token/bin/$(CONFIG)/dnx451/OAuth.AspNet.Token.dll
mkbundle --static $(DNXLIBS) src/Yavsc/bin/$(CONFIG)/dnx451/Yavsc.dll src/Yavsc/bin/$(CONFIG)/dnx451/pt/Yavsc.resources.dll src/Yavsc/bin/$(CONFIG)/dnx451/en/Yavsc.resources.dll src/Yavsc.Server/bin/$(CONFIG)/dnx451/Yavsc.Server.dll src/Yavsc.Server/bin/$(CONFIG)/dnx451/en/Yavsc.Server.resources.dll src/Yavsc.Abstract/bin/$(CONFIG)/dnx451/Yavsc.Abstract.dll src/Yavsc.Abstract/bin/$(CONFIG)/dnx451/en/Yavsc.Abstract.resources.dll src/Yavsc.Abstract/bin/$(CONFIG)/dnx451/pt/Yavsc.Abstract.resources.dll src/OAuth.AspNet.AuthServer/bin/$(CONFIG)/dnx451/OAuth.AspNet.AuthServer.dll src/OAuth.AspNet.Token/bin/$(CONFIG)/dnx451/OAuth.AspNet.Token.dll $(LIBS) -L $(DNX_USER_HOME)/runtimes/dnx-mono.1.0.0-rc1-update2/bin --machine-config $(MONO_PREFIX)/etc/mono/4.5/machine.config -o yavscd
.PHONY: packages

@ -1,3 +0,0 @@
namespace Yavsc.contrib
{
omg, daB4C0|)3DA!!!

@ -1 +0,0 @@
dnu build --configuration Debug ./project.json

@ -1,7 +0,0 @@

insert into "Blog" ("AuthorId",bcontent,modified,photo,posted,rate,title,visible)
select 'dcfd1730-7dc8-4db8-8db4-20da0a6b07fe',bcontent,modified,photo,posted,rate,title,visible
from "BlogOld"

@ -1,42 +0,0 @@
ALTER TABLE estimate
DROP CONSTRAINT estimate_username_fkey;
ALTER TABLE estimate
DROP CONSTRAINT estimate_client_fkey;
ALTER TABLE estimate RENAME TO old_estimate;
ALTER TABLE blog DROP CONSTRAINT bloguser;
ALTER TABLE blog RENAME TO old_blog;
ALTER TABLE activity RENAME TO old_activity;
ALTER TABLE tag RENAME TO old_tag;
ALTER TABLE tagged RENAME TO old_tagged;
ALTER TABLE writtings RENAME TO old_writtings;
drop table blfiles;
drop table blog_access;
drop table circle;
drop table circle_members;
drop table commandes;
drop table comment;
drop table histoestim;
drop table histowritting;
drop table hr;
drop table comment;
drop table product;
drop table profiledata;
drop table satisfaction;
drop table stocksymbols;
drop table taskdeps;
drop table tasks;
drop table userskills;
drop table wrfiles ;
drop table wrtags ;
drop table passwrecovery;
drop table projet;
drop table skill;
drop table usersroles;
drop table roles;
drop table users;
drop table profiles;
drop TABLE postheader;

@ -16,21 +16,15 @@
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
CONFIGS="/etc/kestrel/*.webenv"
DNX_USER_HOME=/srv/www/dnx
DNXRUNTIMEVERSION=$(cat /srv/www/dnx/alias/default.alias)
. /home/paul/mono46/mono-env
MONO_BINARY=`which mono`
# fix issue with DNX exception in case of two env vars with the same name but different case
TMP_SAVE_runlevel_VAR=$runlevel
unset runlevel
running() {
if [ -f $PIDFILE ]
then
DNXPID=$(cat $PIDFILE)
if kill -0 $DNXPID 2>/dev/null
PID=$(cat $PIDFILE)
if kill -0 $PID 2>/dev/null
then
return 0
fi
@ -45,15 +39,12 @@ setdnxenv() {
# reset all except the name to default values
export ASPNET_ENV=$NAME
export WWW_USER=www-data
DNXEXE=${DNX_USER_HOME}/runtimes/${DNXRUNTIMEVERSION}/bin/ndnx
DNXRUNTIME=${DNX_USER_HOME}/runtimes/${DNXRUNTIMEVERSION}/bin/Microsoft.Dnx.Host.Mono.dll
YAVSCBIN=/usr/local/bin/yavscd
PROJECT=approot/Web
CONFIGURATION=Release
ROOT=/srv/www/yavsc
DESC="$NAME"
PIDFILE=/var/run/kestrel-${NAME}.pid
export MONO_OPTIONS="--server"
export MONO_PATH=$MONO_PATH:${DNX_USER_HOME}/runtimes/${DNXRUNTIMEVERSION}/bin
LOGDIR=/var/log
# reset to specified values
. $env
@ -65,7 +56,7 @@ status() {
setdnxenv "$env"
if running;
then
echo "Service running $DESC ($NAME; pid: $DNXPID)"
echo "Service running $DESC ($NAME; pid: $PID)"
else
echo "Service stopped $DESC ($NAME)"
fi
@ -82,7 +73,7 @@ start() {
log_end_msg 0
else
log_daemon_msg "Starting service $NAME for user $WWW_USER"
if ! start-stop-daemon -SbmCv --user $WWW_USER -p $PIDFILE -d $ROOT -g www-data -x $DNXEXE -- --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 $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

@ -16,18 +16,15 @@
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
CONFIGS="/etc/kestrel/*.prewebenv"
DNX_USER_HOME=/srv/www/dnx
DNXRUNTIMEVERSION=$(cat /srv/www/dnx/alias/default.alias)
# fix issue with DNX exception in case of two env vars with the same name but different case
TMP_SAVE_runlevel_VAR=$runlevel
unset runlevel
running() {
if [ -f $PIDFILE ]
then
DNXPID=$(cat $PIDFILE)
if kill -0 $DNXPID 2>/dev/null
PID=$(cat $PIDFILE)
if kill -0 $PID 2>/dev/null
then
return 0
fi
@ -41,14 +38,13 @@ setdnxenv() {
. $env
# reset all except the name to default values
export ASPNET_ENV=$NAME
WWW_USER=www-data
DNXRUNTIME=${DNX_USER_HOME}/runtimes/${DNXRUNTIMEVERSION}/bin/Microsoft.Dnx.Host.Mono.dll
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
export MONO_OPTIONS="--server"
LOGDIR=/var/log
# reset to specified values
. $env
@ -60,7 +56,7 @@ status() {
setdnxenv "$env"
if running;
then
echo "Service running $DESC ($NAME; pid: $DNXPID)"
echo "Service running $DESC ($NAME; pid: $PID)"
else
echo "Service stopped $DESC ($NAME)"
fi
@ -76,8 +72,8 @@ start() {
echo "Service already running $DESC" "$NAME"
log_end_msg 0
else
log_daemon_msg "Starting service $NAME"
if ! start-stop-daemon -SbmCv -u $WWW_USER -p $PIDFILE -d $ROOT -x /usr/bin/mono $DNXRUNTIME -- --project $PROJECT --configuration $CONFIGURATION $NAME >${LOGDIR}/kestrel-${NAME}.log
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

@ -1,23 +0,0 @@
#!/bin/bash
export FSPATH=/srv/www/yavscpre
ssh root@localhost rm -rf $FSPATH/approot
(
set -e
ssh root@localhost systemctl stop kestrel-pre
cd bin/output/
echo "sync to $FSPATH"
rsync -ravu wwwroot approot root@localhost:$FSPATH
sleep 1
ssh root@localhost sync
sleep 1
ssh root@localhost systemctl start kestrel-pre
)
echo "Now, go and try <https://yavscpre.pschneider.fr>"
echo "Then, feel free to launch contrib/rsync-to-prod.sh"

@ -1,18 +0,0 @@
#!/bin/bash
export FSPATH=/srv/www/yavsc
(
set -e
ssh root@localhost systemctl stop kestrel
ssh root@localhost rm -rf $FSPATH/approot
cd bin/output/
sleep 1
echo "Sync: > $FSPATH"
rsync -ravu wwwroot approot root@localhost:$FSPATH
sleep 1
ssh root@localhost sync
sleep 1
ssh root@localhost systemctl start kestrel
)

@ -1,7 +1,7 @@
SOURCE_DIR=$(HOME)/workspace/yavsc
MAKEFILE_DIR=$(SOURCE_DIR)/scripts/build/make
include $(MAKEFILE_DIR)/versioning.mk
include $(MAKEFILE_DIR)/dnx.mk
include $(MAKEFILE_DIR)/versioning.mk
all: $(BINTARGETPATH)

@ -26,7 +26,7 @@
"defaultNamespace": "Yavsc"
},
"dependencies": {
"Newtonsoft.Json": "6.0.0",
"Newtonsoft.Json": "6.0.1-beta1",
"Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-*",
"OAuth.AspNet.Token": {
"type": "build",

@ -1,7 +1,8 @@
SOURCE_DIR=$(HOME)/workspace/yavsc
MAKEFILE_DIR=$(SOURCE_DIR)/scripts/build/make
include $(MAKEFILE_DIR)/versioning.mk
include $(MAKEFILE_DIR)/dnx.mk
include $(MAKEFILE_DIR)/versioning.mk
all: $(BINTARGETPATH)

@ -3,14 +3,14 @@ MAKEFILE_DIR=$(SOURCE_DIR)/scripts/build/make
BASERESX=Resources/Yavsc.Attributes.Validation.Resources.resx \
Resources/Yavsc.Models.Messaging.Resources.resx \
Resources/Yavsc.Models.IT.Fixing.Bug.resx\
Resources/Yavsc.ChatHub.resx
Resources/Yavsc.ChatHubLabels.resx
BASERESXGEN=$(BASERESX:.resx=.Designer.cs)
include $(MAKEFILE_DIR)/versioning.mk
include $(MAKEFILE_DIR)/dnx.mk
include $(MAKEFILE_DIR)/versioning.mk
all: $(BASERESXGEN) $(BINTARGETPATH)
%.Designer.cs: %.resx
strotygen -l -p -t -r "Yavsc.Abstract.Resources." $^
strongresbuildercli -l -p -t -r "Yavsc.Abstract.Resources." $^
prepare_code: $(BASERESXGEN)

@ -4,9 +4,8 @@ BASERESX=Resources/Yavsc.Models.Relationship.HyperLink.resx \
Resources/Yavsc.Models.Streaming.LiveFlow.resx
BASERESXGEN=$(BASERESX:.resx=.Designer.cs)
include $(MAKEFILE_DIR)/versioning.mk
include $(MAKEFILE_DIR)/dnx.mk
include $(MAKEFILE_DIR)/versioning.mk
default: all
@ -20,7 +19,7 @@ $(BINTARGETPATH): ../OAuth.AspNet.AuthServer/bin/$(CONFIGURATION)/OAuth.AspNet.A
make -C ../Yavsc.Abstract
%.Designer.cs: %.resx
strotygen -l -p -t -r "Yavsc.Server.Resources." $^
strongresbuildercli -l -p -t -r "Yavsc.Server.Resources." $^
prepare_code: $(BASERESXGEN)

@ -13,8 +13,8 @@ BASERESXGEN=$(BASERESX:.resx=.Designer.cs)
MCS_OPTIONS=-debug
MONO_OPTIONS="--debug"
include $(MAKEFILE_DIR)/versioning.mk
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
@ -52,6 +52,7 @@ pushInPre: cleanoutput bin/output/wwwroot/version
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
@ -60,6 +61,7 @@ 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
@ -76,7 +78,7 @@ cleanPublish: pushInPre pushInProd
jsmin < $^ > $@
%.Designer.cs: %.resx
strotygen -l -p -t -r "Yavsc.Resources." $^
strongresbuildercli -l -p -t -r "Yavsc.Resources." $^
prepare_code: $(BASERESXGEN)

@ -2029,6 +2029,18 @@ namespace Yavsc {
}
}
public static string AccountEmailFactorTitle {
get {
return ResourceManager.GetString("AccountEmailFactorTitle", resourceCulture);
}
}
public static string AccountEmailFactorBody {
get {
return ResourceManager.GetString("AccountEmailFactorBody", resourceCulture);
}
}
public static string ConfirmYourAccountTitle {
get {
return ResourceManager.GetString("ConfirmYourAccountTitle", resourceCulture);

@ -61,5 +61,11 @@
"System.Net": {},
"System.Xml": {}
}
},
"scripts": {
"postrestore": [
"grep -v '\\.\\.dll' project.lock.json > new.project.lock.json",
"mv new.project.lock.json project.lock.json"
]
}
}

@ -29,7 +29,7 @@
"Microsoft.Extensions.Logging": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final",
"Newtonsoft.Json": "6.0.0"
"Newtonsoft.Json": "6.0.1-beta1"
},
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel --server.urls=http://*:5002"
@ -59,6 +59,10 @@
"bower install",
"gulp clean",
"gulp min"
],
"postrestore": [
"grep -v '\\.\\.dll' project.lock.json > new.project.lock.json",
"mv new.project.lock.json project.lock.json"
]
}
}

@ -39,7 +39,7 @@
"EntityFramework.Commands": "7.0.0-rc1-final",
"EntityFramework7.Npgsql": "3.1.0-rc1-3",
"EntityFramework7.Npgsql.Design": "3.1.0-rc1-5",
"Newtonsoft.Json": "6.0.0",
"Newtonsoft.Json": "6.0.1-beta1",
"xunit": "2.1.0",
"xunit.analyzers": "0.9.0",
"xunit.assert": "2.1.0",
@ -62,5 +62,11 @@
"commands": {
"test": "xunit.runner.dnx"
},
"userSecretsId": "aspnet5-YavscWeb-a0dadd21-2ced-43d3-96f9-7e504345102f"
"userSecretsId": "aspnet5-YavscWeb-a0dadd21-2ced-43d3-96f9-7e504345102f",
"scripts": {
"postrestore": [
"grep -v '\\.\\.dll' project.lock.json > new.project.lock.json",
"mv new.project.lock.json project.lock.json"
]
}
}

Loading…