Le Stack Harbor PaaS exécute les applications .NET sur des conteneurs de serveur applicatif .NET dédiés. La pile est bâtie sur le runtime .NET multi-plateformes, inclut ASP.NET Core et utilise la CLI dotnet pour démarrer votre application.
Le conteneur utilise un init systemd et expose les surfaces opérationnelles PaaS standards : redimensionnement vertical en direct, scale-out horizontal, IP publiques, règles pare-feu, accès SSH, gestionnaire de fichiers et CLI / API.
Ce qu’il y a dans un conteneur .NET
Le conteneur embarque :
- Runtime .NET — système de types, chargement d’assemblies, ramasse-miettes, bibliothèques de framework.
- Runtime ASP.NET Core — pour les applications web, services et API.
- SDK .NET et compilateurs de langage — Roslyn et F#, pour que le SDK puisse compiler des projets dans le conteneur.
- CLI
dotnet— utilisée pour démarrer l’application et exécuter les commandes fournies par le framework.
Provisionner un environnement .NET
- Cliquez sur Nouvel environnement dans le tableau de bord.
- Ouvrez l’onglet .NET.
- Choisissez le serveur applicatif .NET. Fixez cloudlets, limite de disque, IP publiques, région et autres paramètres.
- Cliquez sur Créer.
L’environnement est prêt en quelques minutes. Le conteneur a sa propre IP privée et un enregistrement DNS unique.
Déployer une application
Ouvrez l’onglet Git / SVN du gestionnaire de déploiement et ajoutez votre dépôt. Indiquez l’URL et la branche. Après le déploiement, le conteneur compile le projet et l’exécute avec dotnet.
Trois variables d’environnement au niveau du conteneur pilotent le déploiement :
| Variable | Rôle |
|---|---|
APP_NAME | Sous-dossier à déployer (pour les monorepos), ou le .dll spécifique à exécuter. |
ASPNETCORE_URLS | URL / ports d’écoute de l’hôte ASP.NET Core. |
RUN_OPTION | Options additionnelles passées à dotnet run. |
Un conteneur .NET exécute une application à la fois, comme Python, Node.js et Go. Pour déployer plusieurs applications, utilisez plusieurs conteneurs.
Voir aussi
- Guide de déploiement par git
- Option conteneur Docker personnalisé pour les charges .NET non standards
- VM Windows pour les charges qui nécessitent un runtime Windows complet