Voici quelques infos bien utiles pour déployer sur Azure.
L'idée est de compiler les sources, lancer une publication locale, zipper le résultat et l'uploader
1- Compilation
publishSiteName=monApp
buildConfiguration=maConfig
publishProfile=nomPublication
pathMSBuild="C:/Program Files (x86)/MSBuild/14.0/Bin/msbuild.exe"
# Execution du script.
"$pathMSBuild" ./masolution.sln /property:configuration=$buildConfiguration
/property:PublishProfile=$publishProfile /property:DeployOnBuild=true
2- La publication locale
Le code ci-dessus, lance automatiquement la publication passée en paramètre, elle correspond au nom que vous avez indiqué dans visual studio
3- Pour zipper, rien de compliquer
deployArchiveFile="$publishSiteName.zip"
pathDeploy="C:\Publish\Monapp\wwwroot\publishSiteName"
"C:/Program Files/7-Zip/7zG.exe" a "./$deployArchiveFile" "$pathDeploy/*"
Ne pas oublier de supprimer le fichier une fois l'upload terminée
4- Il reste simplement à envoyer sur Azure
completeAzureLogin="$AZURE_LOGIN:$AZURE_PASSWORD"
echo "Upload de l'archive sur azure via l'API de KUDU"
curl -X PUT --data-binary @$publishSiteName.zip
https://monazure.scm.azurewebsites.net/api/zip/site/$publishSiteName/
-u $completeAzureLogin
Attention, bien vérifier l'url vers l'api KUDU qui est la même que l'url du site avec un .scm. en plus !
Pour obtenir le login et le mode de passe de l'api zip, il faut se connecter à l'interface de gestion (https://portal.azure.com) et télécharger le profil de publication. Le login commence par un $ et le mot de passe est une longue suite de caractères, exemple :
AZURE_LOGIN=$monapi
AZURE_PASSWORD=ZpuSQ3o9WXnSQeBbzu5qsrBgJ1b79aApkg8MoQEjriCxh6JLc0i6W1NJ6amS
5- Vérification du déploiement
Aller dans les outils avancés et vérifier dans le dossier "site" si l'application a bien été déployée
6- Créer un sous-site
Pour déployer plusieurs site sur une même machine azure, il faut aller dans "Paramètres \ Paramètres de l'application" puis tout en bas dans "Applications et répertoires virtuels" et associer les répertoire au sous-site voulu
Voilà de quoi partir du bon pied !
En PJ : les fichiers complets
create-zip-package-api.sh (762,00 bytes)
publish-package-api.sh (1,21 kb)
publish-package-rec.sh (1,05 kb)