Build & Artifacts

Regroupe les informations liées au build de SMOBY

Générer le package Nuget

Installer le CLI Nuget

Installer Chocolatey => https://chocolatey.org/install sur le poste pour pouvoir ensuite lacer la commande suivante

choco install nuget.commandline

Configurer le Nuget.Config

Pour pouvoir récupérer depuis les artifacts et déployer une nouvelle version du  nuget, il faut rajouter les paramètres suivants dans le fichier Nuget.config

<configuration>
    <packageSources>
        <add key="MobileSquad"
             value="https://pkgs.dev.azure.com/PoleEmploi/SMOBY/_packaging/MobileSquad/nuget/v3/index.json" />
     
        <packageSourceCredentials>
            <MobileSquad>
                <add key="Username" value="nelson.carneiro@pole-emploi.fr" />
                <add key="ClearTextPassword" value="qohfh3r4esxh2eucv4o45272gq77wq2vzymdldtwmm2hw7xahv6q" />
            </MobileSquad>
        </packageSourceCredentials>
        
    </packageSources>
</configuration>

Créer un Nuget multi-plateforme

Le fichier Smoby.nuspec contient le contenu suivant :

<?xml version="1.0" encoding="utf-8"?>
<package>
    <metadata>
        <id>Smoby</id>
        <version>1.0.6</version>
        <title>Smoby</title>
        <authors>Nelson CARNEIRO</authors>
        <owners>Mobile Squad</owners>
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <license type="expression">MIT</license>
        <projectUrl>https://www.pole-emploi.fr/</projectUrl>
        <iconUrl>https://www.pole-emploi.fr/favicon.ico</iconUrl>
        <description>Socle Mobile intégré aux outils de la DSI de Pôle-Emploi</description>
        <releaseNotes>Modification </releaseNotes>
        <copyright>Copyright 2022</copyright>
        <tags>Android iOS Xamarin Forms Socle Mobile</tags>
        <dependencies>
            <group targetFramework="MonoAndroid">
                <!--MonoAndroid dependencies go here-->
            </group>
            <group targetFramework="Xamarin.iOS10">
                <!--Xamarin.iOS10 dependencies go here-->
            </group>
        </dependencies>
    </metadata>
    <files>
        <!-- Cross-platform reference assemblies -->
        <file src=".\Smoby\bin\Release\netstandard2.0\Smoby.dll"
              target="lib\netstandard2.0\Smoby.dll"/>
        <file src=".\Smoby\bin\Release\netstandard2.0\Smoby.pdb"
              target="lib\netstandard2.0\Smoby.pdb"/>
        <file src=".\Smoby\bin\Release\netstandard2.0\Smoby.deps.json"
              target="lib\netstandard2.0\Smoby.deps.json"/>

        <!-- iOS reference assemblies -->
       

        <!-- Android reference assemblies -->
        <file src=".\Smoby.Android\bin\Release\Smoby.Android.dll"
              target="lib\MonoAndroid10\Smoby.Android.dll"/>
        <file src=".\Smoby.Android\bin\Release\Smoby.Android.pdb"
              target="lib\MonoAndroid10\Smoby.Android.pdb"/>
    </files>
</package>

Générer le Nuget Package

Il faut se trouver dans le dossier contenant le fichier .nuspec et lance la ligne de commande :

nuget pack

Publier le package sur Artifacts Azure Devops

 

nuget push Smoby.1.0.8.nupkg -Source "MobileSquad" -ApiKey apikey_obligatoire_mais_vide
dotnet nuget push --source "MobileSquad" .\Smoby.1.0.6.nupkg -k  l67cuxehovu27kd5k4fpmhfd6amswmgzgzgrwfonqszdel6f3lrq