101 lines
2.7 KiB
Markdown
101 lines
2.7 KiB
Markdown
# ISN
|
|
|
|
En cours de developement, le détail du paquet n'est toujours pas fourni en API.
|
|
|
|
## Usage
|
|
|
|
````sh
|
|
|
|
dotnet user-secrets set ConnectionStrings:DefaultConnection "Server=<lame-pgserver>;Port=<lame-pgport>;Database=<lame-dbname>;Username=<lame-dbusername>;Password=<lame-dbpass>;"
|
|
|
|
isnd&
|
|
|
|
# get an api-key from <http://localhost:5000/ApkKeys>
|
|
|
|
isn push -k <lame-api-key> -s http://localhost:5000/index.json your-lame-versionned.nupkg
|
|
wget http://localhost:5000/package/index.json?q=your&prerelease=true&semVerLevel=2.0.0
|
|
````
|
|
|
|
## Installation
|
|
|
|
### Compilation
|
|
|
|
Dans le dossier de la solution, compiler la solution :
|
|
|
|
````bash
|
|
dotnet build /restore -c Release
|
|
dotnet publish -c Release src/isnd
|
|
````
|
|
|
|
### Déploiement du serveur
|
|
|
|
La livraison initiale, aujourd'hui :
|
|
|
|
````bash
|
|
sudo mkdir -p /srv/www/isnd
|
|
sudo cp -a src/isnd/bin/Release/net8.0/publish/* /srv/www/isnd
|
|
sudo cp contrib/isnd.service /etc/systemd/system
|
|
chown -R isn:isn /srv/www/isnd/
|
|
sudo systemctl daemon-reload
|
|
````
|
|
|
|
Une base de donées Postgresql est requise, avec, pour faire simple,
|
|
son utilisateur, et le droit de créer des tables (ce dernier droit pourrait expirer, mais gare aux mises à jour).
|
|
|
|
Il faudra éditer la configuration pour indiquer :
|
|
|
|
* dans /etc/systemd/system/isnd.service , la connextion à une base de donnée Postresgql, sous la forme :
|
|
`"Server=<pgserver>;Port=<pgport>;Database=<dbname>;Username=<dbusername>;Password=<dbpass>;"`
|
|
* dans /srv/www/isnd/appsettings.Production.json, la connection au serveur de messagerie,
|
|
* l'URL externe du ou des sites à propulser, et à utiliser dans la description de service,
|
|
* et les autres détails.
|
|
|
|
Pour faire ceci, vous pourrez éditer une copie du fichier `appsettings.json` vers `appsettings.Production.json`,
|
|
pour renseigner toutes les valeurs spécifiées.
|
|
|
|
* Démarrer le serveur :
|
|
|
|
````bash
|
|
sudo systemctl start isnd
|
|
````
|
|
|
|
* Activation du serveur :
|
|
|
|
````bash
|
|
sudo systemctl enable isnd
|
|
````
|
|
|
|
### Installation du client
|
|
|
|
````bash
|
|
sudo mkdir /usr/local/lib/isn
|
|
sudo cp -a src/isn/bin/Release/net6.0/* /usr/local/lib/isn
|
|
sudo chown -R root.root /usr/local/lib/isn
|
|
sudo ln -s /usr/local/lib/isn/isn /usr/local/bin/isn
|
|
````
|
|
|
|
### Mises à jour
|
|
|
|
Dans le détail, la séquence serait du style :
|
|
|
|
````bash
|
|
# compiler tout
|
|
dotnet build -c Release
|
|
dotnet publish -c Release -f net8.0 src/isnd
|
|
# MAJ du serveur
|
|
sudo systemctl stop isnd
|
|
sudo cp -a src/isnd/bin/Release/net8.0/publish/* /srv/www/isnd
|
|
sudo systemctl start isnd
|
|
# MAJ du client
|
|
sudo cp -a src/isn/bin/Release/net8.0/* /usr/local/lib/isn
|
|
sudo chown -R root:root /usr/local/lib/isn
|
|
````
|
|
|
|
On pourra cibler "client-update" ou "server-update", à la construction :
|
|
|
|
|
|
````bash
|
|
make server-update
|
|
make client-update
|
|
````
|