Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Der skal installeres en version 7 9 af .NET:

Start med at hente seneste version herfra:

https://dotnet.microsoft.com/en-us/download/dotnet/79.0

Installér herefter den downloadede gz-fil:

Code Block
mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-7.0.407<version>-linux-x64.tar.gz -C $HOME/dotnet 
export DOTNET_ROOT=$HOME/dotnet 
export PATH=$PATH:$HOME/dotnet

...

Verificer at versionen af .NET er '79.x.y', som er den version SealTest projektet benytter - Seal projektet (som SealTest bruger) er “ligeglad”, da den compiler mod .NET Standard 2.0, som er kompatibel med alle versioner:

...

Inden testene kan afvikles skal følgende certifikater installeres i truststore:

Ubuntu:

Code Block
sudo apt-get install -y ca-certificates
sudo cp SealTest/Resources/oces3/FOCES_gyldig.crt /usr/local/share/ca-certificates
sudo cp SealTest/Resources/oces3/ca.cer /usr/local/share/ca-certificates/ca.crt
sudo cp SealTest/Resources/SelfSigned.crt /usr/local/share/ca-certificates
sudo update-ca-certificates

Windows:

Importer certifikaterne som Trusted Root Certification Authority med MMC.


Herefter kan alle tests nu afvikles:

...

Denne kommando bygger først alle projekter, og kører derefter tests.

Releases

Der laves et svn update og det tjekkes Tjek at alle tests kører igennem, og få feature branch merged ind på main.

Herefter skal der laves et tag i svn git (på main branch) for den pågældende revision på formen 'release-<major>.<minor>.<patch>':

Code Block
svngit cp https://svn.nspop.dk/svn/libraries/seal/net/trunk/ https://svn.nspop.dk/svn/libraries/seal/net/tags/tag -a release-X.Y.Z/ -m "Tag X.Y.ZSDS-XXXX"

Hvor X.Y.Z skal rettes til versionen.

Lav et checkout af det nyoprettede tag, og lav en mappe i roden af projektet der hedder "Release".

, og beskeden til SDS-sagsnummer i Jira.

Opret herefter en release branch, og byg NuGet pakken Byg en NuGet pakke - se nedenunder (det er denne pakke som uploades til nuget.org, som gør Seal.Net tilgængelig for andre).Lig den ind i "Release" mappen og commit denne mappe på tagget. På denne måde bliver den generede NuGet pakke en del af releaset.


NuGet link til Seal.NET: https://www.nuget.org/packages/Seal.net

Byg af NuGet pakke

En NuGet pakke kan bygges med følgende kommando:

Code Block
languagebash
dotnet pack -c release --include-symbols -p:Version=1.2.3

Lig den ind i "Release" mappen og commit denne mappe på tagget:

Code Block
git add -f ./Seal/bin/Release/Seal.net.X.Y.Z.nupkg
git add -f ./Seal/bin/Release/Seal.net.X.Y.Z.symbols.nupkg

commit -m "SDS-XXXX: nuget pakker tilføjet"
git push

Release note for pakken skrives ind i 'ReleaseNotes.txt'. Projektfilen ('Seal.csproj') er konfigureret til at læse fra denne fil når den pakkes til en NuGet pakke. Der er ikke lavet en aftale om at dette skal gøres, så det er ikke et krav.

Kort om referencer ved byg af NuGet

For at inkludere refererede projekter som dll (DgwsTypes i dette tilfælde) i den genererede NuGet-pakke, er NuGet pakken Teronis.MSBuild.Packaging.ProjectBuildInPackage refereret i Seal-projektet. Når der sættes 'PrivateAssets="all"' på en projekt-reference (i 'Seal.csproj'), vil den automatisk ligge dll og evt. pdb filer fra projektet ind i den genererede pakke.

Dette gøres da .NET pakker eksterne afhængigheder som NuGet referencer, men man har valgt at ligge dem ind direkte som en lokal dll før i tiden. Da DgwsTypes ligger på nuget.org, kan den erstattes af en NuGet reference, og da dette er understøttet af .NET, er det nok at foretrække på sigt.

Specifikt for .NET Framework

...

  1. Hvis man får en fejl omkring certifikater, gør da følgende
            sn -i DgwsTypes\DgwsTypesStrongName.pfx med den VS_KEY der nævnes (pw: DgwsTypesPassword)
            byg igen, du får nu sikkert en ny fejl med ny VS_KEY
            sn -i Seal\Seal.NetStrongName.pfx med den VS_KEY der nævnes (pw: Seal.NetPassword)
            byg igen, skulle gerne være uden fejl nu

...