isn/README.md

125 lines
3.4 KiB
Markdown
Raw Normal View History

2021-07-05 21:46:18 +01:00
# ISN
[![pipeline status](http://gitlab.pschneider.fr/Paul/nuget-host/badges/main/pipeline.svg)](http://gitlab.pschneider.fr/Paul/nuget-host/-/commits/main)
## Usage
2021-04-08 02:03:17 +01:00
````sh
2021-05-14 21:48:01 +01:00
dotnet user-secrets set ConnectionStrings:DefaultConnection "Server=<lame-pgserver>;Port=<lame-pgport>;Database=<lame-dbname>;Username=<lame-dbusername>;Password=<lame-dbpass>;"
2021-07-05 12:55:52 +01:00
isnd&
2021-05-14 21:48:01 +01:00
# get an api-key from <http://localhost:5000/ApkKeys>
2021-07-12 03:23:11 +01:00
isn push -k <lame-api-key> -s http://localhost:5000/index.json your-lame-versionned.nupkg
2021-08-10 00:10:26 +01:00
wget http://localhost:5000/package/index.json?q=your&prerelease=true&semVerLevel=2.0.0
2021-04-08 02:03:17 +01:00
````
2021-07-05 21:24:37 +01:00
2021-07-11 18:07:45 +01:00
## Installation
2021-07-05 21:24:37 +01:00
2021-07-11 18:07:45 +01:00
Depuis le dossier de la solution, compiler la solution :
2021-07-05 21:24:37 +01:00
````bash
2021-08-10 00:10:26 +01:00
dotnet build /restore -c Release
2021-07-05 21:24:37 +01:00
dotnet publish -c Release
````
2022-09-25 17:07:56 +01:00
### Déploiement
2021-07-05 21:24:37 +01:00
````bash
2021-07-11 20:15:50 +01:00
sudo mkdir -p /srv/www/isnd
sudo cp -a src/isnd/bin/Release/netcoreapp2.1/publish/* /srv/www/isnd
2021-07-05 21:24:37 +01:00
sudo cp contrib/isnd /etc/init.d/isnd
sudo chmod +x /etc/init.d/isnd
sudo chown -R www-data.www-data /srv/www/isnd
sudo systemctl daemon-reload
````
* Créer une base de donées Postgresql,
* ajuster un fichier de configuration `/srv/www/isnd/appsettings.Production.json`
* Démarrer le serveur :
2021-07-11 19:14:55 +01:00
````bash
sudo systemctl start isnd
````
2022-09-25 17:07:56 +01:00
* Activation du serveur :
2021-07-11 19:14:55 +01:00
2021-07-05 21:24:37 +01:00
````bash
2021-07-11 18:07:45 +01:00
sudo systemctl enable isnd
2021-07-05 21:24:37 +01:00
````
2021-08-10 00:10:26 +01:00
2022-09-25 17:07:56 +01:00
### Installation du client
2021-07-05 21:24:37 +01:00
````bash
2021-07-12 03:35:03 +01:00
sudo mkdir /usr/local/lib/isn
2022-04-15 23:56:15 +01:00
sudo cp -a src/isn/bin/Release/netcoreapp2.1/* /usr/local/lib/isn
2021-07-05 21:24:37 +01:00
sudo chown -R root.root /usr/local/lib/isn
2022-04-10 18:07:14 +01:00
sudo ln -s /usr/local/lib/isn/isn /usr/local/bin/isn
2021-07-05 21:24:37 +01:00
````
2021-07-11 20:04:12 +01:00
2021-07-11 20:15:50 +01:00
### Mises à jour
````bash
2021-07-12 03:23:11 +01:00
# compiler tout
2022-04-11 01:48:43 +01:00
dotnet build -c Release
dotnet publish -c Release -f netcoreapp2.1 src/isnd
2021-07-12 03:23:11 +01:00
# MAJ du serveur
sudo systemctl stop isnd
2021-07-11 20:15:50 +01:00
sudo cp -a src/isnd/bin/Release/netcoreapp2.1/publish/* /srv/www/isnd
2021-07-12 03:23:11 +01:00
sudo systemctl start isnd
# MAJ du client
2022-04-15 23:56:15 +01:00
sudo cp -a src/isn/bin/Release/netcoreapp2.1/* /usr/local/lib/isn
2022-04-10 18:07:14 +01:00
sudo chown -R root.root /usr/local/lib/isn
2021-07-11 20:15:50 +01:00
````
2022-09-25 17:07:56 +01:00
2021-07-11 20:04:12 +01:00
## TODO
2022-07-10 17:05:05 +01:00
```json
{
"@id": "https://api.nuget.org/v3/registration5-semver1/",
"@type": "RegistrationsBaseUrl",
"comment": "Base URL of Azure storage where NuGet package registration info is stored"
},
{
"@id": "https://api.nuget.org/v3-flatcontainer/",
"@type": "PackageBaseAddress/3.0.0",
"comment": "Base URL of where NuGet packages are stored, in the format https://api.nuget.org/v3-flatcontainer/{id-lower}/{version-lower}/{id-lower}.{version-lower}.nupkg"
},
{
"@id": "https://api.nuget.org/v3/registration5-semver1/",
"@type": "RegistrationsBaseUrl/3.0.0-rc",
"comment": "Base URL of Azure storage where NuGet package registration info is stored used by RC clients. This base URL does not include SemVer 2.0.0 packages."
},
{
"@id": "https://api.nuget.org/v3/registration5-semver1/",
"@type": "RegistrationsBaseUrl/3.0.0-beta",
"comment": "Base URL of Azure storage where NuGet package registration info is stored used by Beta clients. This base URL does not include SemVer 2.0.0 packages."
},
{
"@id": "https://www.nuget.org/packages/{id}/{version}?_src=template",
"@type": "PackageDetailsUriTemplate/5.1.0",
"comment": "URI template used by NuGet Client to construct details URL for packages"
},
{
"@id": "https://api.nuget.org/v3/registration5-gz-semver2/",
"@type": "RegistrationsBaseUrl/3.6.0",
"comment": "Base URL of Azure storage where NuGet package registration info is stored in GZIP format. This base URL includes SemVer 2.0.0 packages."
},
````