diff --git a/docs/docs/build-ayanova.md b/docs/docs/build-ayanova.md new file mode 100644 index 0000000..a508786 --- /dev/null +++ b/docs/docs/build-ayanova.md @@ -0,0 +1,30 @@ +# Building AyaNova (Raven) + +## Security scan + +If any packages have been changed in the release do a thorough security scan and check of each package. + +## Bump version numbers + +Search and replace 8.0.7 version number in the following: + +- Client end ayanova-version.js, +- Server end ayanova-version.cs AND AyaNova.csproj +- The TWO windows installers are versioned (LAN.ISS and STANDALONE.ISS) #MyAppVersion in C:\data\code\raven\dist\install\windows\x64\lan.iss #MyAppVersion in C:\data\code\raven\dist\install\windows\x64\standalone.iss +- RavenLauncher "single" Launcher is also versioned and needs to be changed individually. + +The change can be searched and replaced in raven and raven-client projects to get all the places but raven-launcher needs to be opened individually to change it. + +## Bump docs date + +Docs are not versioned but dated in mkdocs.yml copyright property so if that needs to change be sure it's udpated. + +## Build + +C:\data\code\raven\build-release.bat will build all raven installers perpetual and subscription builds + +Watch for errors, the build script should bomb if any single item fails but be sure to look it over + +Built installers are located in C:\data\code\raven\dist\installers + +Next up is [deployment and testing](deploy-ayanova.md) diff --git a/docs/docs/build-qbi.md b/docs/docs/build-qbi.md new file mode 100644 index 0000000..109df71 --- /dev/null +++ b/docs/docs/build-qbi.md @@ -0,0 +1,7 @@ +# title + +## section + +### detail + +blah blah blah \ No newline at end of file diff --git a/docs/docs/build-rockfish.md b/docs/docs/build-rockfish.md new file mode 100644 index 0000000..109df71 --- /dev/null +++ b/docs/docs/build-rockfish.md @@ -0,0 +1,7 @@ +# title + +## section + +### detail + +blah blah blah \ No newline at end of file diff --git a/docs/docs/deploy-ayanova.md b/docs/docs/deploy-ayanova.md new file mode 100644 index 0000000..a6dc8e9 --- /dev/null +++ b/docs/docs/deploy-ayanova.md @@ -0,0 +1,190 @@ +# Deploy AyaNova (Raven) + +After the [build](build-ayanova.md) has completed successfully move on to here: + +## UPLOAD INSTALLERS TO NEXT FOLDER + +Use FileZilla to upload releases to ayanova.com/download/next staging folder for testing + +## TEST + +### Test install to devops server + +This assumes want to test the upgrade process, if want to erase the db entirely to start fresh then edit config.json and +add or ensure is set: + +`"AYANOVA_PERMANENTLY_ERASE_DATABASE":"true",` + +Run the appropriate for build type being tested standard upgrade script (except this one comes from next folder) to upgrade test server instance. + +#### PERPETUAL BUILD + +test.helloayanova.com main devops + +```bash +cd /var/ayanova && \ +sudo systemctl stop ayanova.service && \ +sudo curl -O https://www.ayanova.com/download/next/ayanova-linux-x64-server.zip && \ +sudo rm \*.dll && \ +sudo rm -r ./resource && \ +sudo rm -r ./wwwroot && \ +sudo unzip -o ayanova-linux-x64-server.zip -x "config.json" && \ +sudo systemctl start ayanova.service +``` + +(a261 server) + +```bash +cd /var/ayanovaa261 && \ +sudo systemctl stop ayanovaa261.service && \ +sudo curl -O https://www.ayanova.com/download/next/ayanova-linux-x64-server.zip && \ +sudo rm \*.dll && \ +sudo rm -r ./resource && \ +sudo rm -r ./wwwroot && \ +sudo unzip -o ayanova-linux-x64-server.zip -x "config.json" && \ +sudo systemctl start ayanovaa261.service +``` + +#### SUBSCRIPTION BUILD + +Devops: + +```bash +cd /var/ayanova && \ +sudo systemctl stop ayanova.service && \ +sudo curl -O https://www.ayanova.com/download/next/ayanova-subscription-linux-x64-server.zip && \ +sudo rm \*.dll && \ +sudo rm -r ./resource && \ +sudo rm -r ./wwwroot && \ +sudo unzip -o ayanova-subscription-linux-x64-server.zip -x "config.json" && \ +sudo systemctl start ayanova.service +``` + +(a261 server) + +```bash +cd /var/ayanovaa261 && \ +sudo systemctl stop ayanovaa261.service && \ +sudo curl -O https://www.ayanova.com/download/next/ayanova-subscription-linux-x64-server.zip && \ +sudo rm \*.dll && \ +sudo rm -r ./resource && \ +sudo rm -r ./wwwroot && \ +sudo unzip -o ayanova-subscription-linux-x64-server.zip -x "config.json" && \ +sudo systemctl start ayanovaa261.service +``` + +### Test install to windows server + +Run installer on Windows test server. + +### Run e2e tests against Linux and Windows servers + +First adjust to the server desired by editing cypress.json and commenting in or out apiBaseUrl and BaseUrl props for local or devops or wherever +C:\data\code\raven-test\e2e>npm run all-chrome +(chrome most reliable but _will_ fail intermittently so needs multiple runs often) +Once tests pass move on to next step + +### Run load tests against Linux and Windows servers + +(determine if any changes triggered performance issues, needs baseline comparison value) + +LOAD TESTING STEPS: +Login to server to test and seed fresh data first, then can run this test +run C:\data\code\raven-test\load\runtest.bat +Test will take approximately 14 minutes to run +Check results in results folder by opening index.html from windows explorer and view in browser + +BASELINE WHAT TO CHECK: +DASHBOARD PAGE is the main page with the main stats: +"REquests summary" +The most telling overall stat is the "Requests summary" pie chart pass/fail ratio on the main page +As of today 2021-12-21 release 8-beta.06 the results are PASS: 92.87%, FAIL: 7.13% +Errors _are_ expected, it's a stress / load test but there shouldn't be an entirely failing route, just a scattered set of failures, +typically unauthorized or bad gateway + +"Appdex" - skipping this for now, not really relevant at the moment + +"STATISTICS" table - this is the important one as it shows failures + +- Scroll down and look in "executions" -> "FAIL" column and make sure they are not all in one line item + if see a lot of failures in a single route need to manually look into that exact issue and route and examine the jmeter test for that route / run it manually perhaps + it's normal to see unauthorized or bad gateway errors when the server is super stressed out but other failures might need examination or all of it if less than 90% success + +NOTES: + +- this also catches reporting as it generates some reports + report-render test has explicit report id number for workorder, currently it's 15 for the dispatch report, if all fail it may have changed the id number + would be better deterministically but for now this works. + +- To test local or devops edit the project file "C:\data\code\raven-test\load\stressdevops.jmx" + There are two configuration sections near top for local or devops and it's switched by setting either enabled or disabled: + + or + +- Load test needs fresh seeding so it can create test users. + +Once tests pass within expected parameters move on to next step + +## RELEASE + +Release here means move from next folder to main download folder /var/www/html/ayanova.com/download/ and archive a copy in old and post about it on website / forum etc. + +Note: linux copy command overwrites by default and changes timestamp by default + +### Copy to public download folder + +Copy the files from next to main preserving timestamp: +**From** the `next` folder: + +```bash +root@ubuntu-s-1vcpu-1gb-amd-sfo3-01:/var/www/html/ayanova.com/download/next# cp * ../ -p +``` + +This will overwrite the previous release installers with the next release installers. + +Confirm the files copied properly before moving on. + +### Copy to old download folder + +Users with expired maintenance agreements are allowed to install up to the build date within the date their agreement expired so we will need to provide old downloads to those people for some period of time. + +Make a folder in the download/old directory named the same as the **build date** of the installers. For example if there was a release on July 1 2025 then make a folder called `2025-07-01` and copy the current build there: + +```bash +root@ubuntu-s-1vcpu-1gb-amd-sfo3-01:/var/www/html/ayanova.com/download/next# mkdir ../old/2025-07-01 +root@ubuntu-s-1vcpu-1gb-amd-sfo3-01:/var/www/html/ayanova.com/download/next# cp * ../old/2025-07-01/ -p +``` + +Confirm the files and folder are present before moving on. + +### Clean next folder + +Make sure you're in the next folder then erase all files: + +```bash +root@ubuntu-s-1vcpu-1gb-amd-sfo3-01:/var/www/html/ayanova.com/download/next# rm * +``` + +### Replace docs + +If docs have changed need to update our static copy of the docs on our server: + +Open FileZilla and login to server and be prepared to copy the moment after deletion so there is minimal downtime for the docs being available. + +Clean out current one from web server: (DONT USE FILEZILLA TO DELETE IT TAKES FUCKING FOREVER) + +**Careful** be sure in docs folder. + +```bash +root@ubuntu-s-1vcpu-1gb-amd-sfo3-01:/var/www/html/ayanova.com/docs# rm * -r +``` + +Use FileZilla to upload the docs: + +from here: `C:\data\code\raven\server\AyaNova\wwwroot\docs\` +to here: `/var/www/html/ayanova.com/docs` + + +## Update website changelog releases notes, forum etc + +Add that info here as it get's set up diff --git a/docs/docs/deploy-qbi.md b/docs/docs/deploy-qbi.md new file mode 100644 index 0000000..109df71 --- /dev/null +++ b/docs/docs/deploy-qbi.md @@ -0,0 +1,7 @@ +# title + +## section + +### detail + +blah blah blah \ No newline at end of file diff --git a/docs/docs/deploy-rockfish.md b/docs/docs/deploy-rockfish.md new file mode 100644 index 0000000..109df71 --- /dev/null +++ b/docs/docs/deploy-rockfish.md @@ -0,0 +1,7 @@ +# title + +## section + +### detail + +blah blah blah \ No newline at end of file diff --git a/docs/docs/index.md b/docs/docs/index.md index f50c7d9..39f0211 100644 --- a/docs/docs/index.md +++ b/docs/docs/index.md @@ -1,4 +1,3 @@ -# Welcome to Rockfish - -Rockfish is used to generate AyaNova licenses, manage cases, tech support email utilities etc. +# Welcome to the biz guide +This is guidance on using Rockfish, building and deploying AyaNova and options and any business processes in general. diff --git a/docs/docs/trial-request.md b/docs/docs/trial-request.md new file mode 100644 index 0000000..109df71 --- /dev/null +++ b/docs/docs/trial-request.md @@ -0,0 +1,7 @@ +# title + +## section + +### detail + +blah blah blah \ No newline at end of file diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 7ebd8f4..15c9b4e 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -5,11 +5,11 @@ theme: favicon: 'img/favicon.ico' logo: 'img/logo.svg' copyright: 'Copyright 2022 Ground Zero Tech-Works Inc.' -site_name: AyaNova Rockfish user manual +site_name: AyaNova Rockfish biz guide site_url: 'https://rockfish.ayanova.com/docs' site_dir: '../wwwroot/docs' strict: true -copyright: Copyright © 2022 Ground Zero Tech-Works Inc. REV-2022-08-29 +copyright: Copyright © 2022 Ground Zero Tech-Works Inc. REV-2022-08-30 extra: generator: false # Extensions @@ -25,11 +25,20 @@ nav: - Rockfish: - 'UI': 'ui.md' - Licensing: + - 'Trial requests': 'trial-request.md' - 'Perpetual': 'license-perpetual.md' - 'Subscription': 'license-subscription.md' - 'Extending trial manually': 'license-extend-trial.md' - 'Revoking': 'license-revoke.md' - Hosting: - 'Setup': 'host-setup.md' +- Build: + - 'Build AyaNova': 'build-ayanova.md' + - 'Build QBI': 'build-qbi.md' + - 'Build Rockfish': 'build-rockfish.md' +- Deploy: + - 'Deploy AyaNova': 'deploy-ayanova.md' + - 'Deploy QBI': 'deploy-qbi.md' + - 'Deploy Rockfish': 'deploy-rockfish.md'