jeudi 24 septembre 2020

Déployer dans l'Azure sur IIS avec ASP.NET Core et SQL Server

En fait les derniers articles font référencent à cette problématique de déploiement dans l'Azure avec ASP.NET Core, c'est une série de problèmes tout à fait nouveaux !

Avec, allez pourquoi pas, une problématique de plus :


Mais là encore pas de solution très simple ... Le grand fautif cette fois c'est le Web Server IIS et la façon dont il traite ASP.NET Core qu'il considère comme un étranger avec de mauvais gène. Ce qui m'interpelle, c'est que quand je fais tourner mes applications avec Kestrel cela fonctionne mais dès que je passe à IIS c'est la cata !

Publish dans l'Azure

Du coup, je retourne dans ma machine de DEV pour tenter de peaufiner les logs afin de comprendre. Et puis je clique sur le bouton Publish (bouton droit sur le projet -> Publish).

Publish dans l'Azure avec IIS
Publish dans l'Azure avec IIS - An Error has occured

Oh bas mince alors, ça commence vraiment mal ! En plus c'est très décevant car ça fait longtemps que je ne suis pas venu ici (publier depuis ma machine de Dev) et c'est très pénible d'avoir à se remémorer tout cela.

Des histoires de sécurité sur des serveurs qui sont dans l'Azure donc qui me coûtent chers. Et soit disant que je ne devrait pas truster ce serveur, un comble car c'est le mien de Server !

Solution

Alors la solution est dans l'édition de la connexion Publish comme ceci :

Validate Connection

C'est navrant ! Bref, je vais peut être pouvoir publier ...

Bon et maintenant que j'ai mes logs ... Je m’aperçois que quand j'ai déployé, le fichier le fichier appsettings.production.json est créé automatiquement ... 

Et quand j'exécute mon site avec IIS, je suis en développement ...

Pour passer en production, je décide de mettre "production" dans le fichier : Web.config


C'est curieux avec Kestrel le site passe automatiquement en production, avec IIS, il faut modifier le Web.config, j'ai perdu un peu de temps mais je progresse.

Grrrr !!!