2016-09-17 1 views
0

je les doutes suivants BizTalk déploiement:Comment déployer l'application BizTalk dans le serveur de production?

  1. Comment déployer l'application BizTalk au serveur de production?
  2. Lorsque je modifie l'application BizTalk existante, comme les artefacts, le pipeline/les fonctions personnalisés, les classes personnalisées, etc., comment puis-je déployer l'application BizTalk sur le serveur?
  3. Je sais BTDF est l'un des meilleurs outils pour déployer des applications BizTalk et nous pouvons déployer l'application BizTalk sur le serveur qui l'utilise?

Répondre

1

1. Déploiement

Pour le déploiement, vous pouvez utiliser l'assistant de génération MSI intégré.
Cela signifie que vous déployez l'application sur un environnement de développement à l'aide de Visual Studio, puis sur la console d'administration, exportez une application MSI à l'aide de l'assistant. Enfin, vous pouvez utiliser ce fichier MSI pour déployer l'application sur le serveur de production. C'est un processus en deux étapes (Exécuter MSI, importer MSI dans la console d'administration de Bizalk).

Notez que seuls vos assemblys Biztalk sont installés par le MSI. Si vous utilisez des assemblys .NET dans votre solution, ils doivent être GAC manuellement. Vous devrez également redémarrer les instances hôtes exécutant votre application Biztalk.

Voir les détails ici: https://msdn.microsoft.com/en-ca/library/aa559168.aspx

Voilà quelques étapes manuelles. Vous pouvez également automatiser certaines de ces étapes en utilisant BTSTask, un outil de ligne de commande inclus avec Biztalk.
Vous pouvez écrire toutes les étapes manuelles.
Évidemment, cela prend du temps pour écrire un tel script, donc cela ne vaut la peine que si vous allez déployer plusieurs fois dans des environnements non-dev.

référence BTSTask: https://msdn.microsoft.com/en-ca/library/aa559686.aspx

2. Redéploiement

Habituellement, vous enlever complètement l'ancienne version, puis installer le nouveau:
Supprimer l'application de la console d'administration Biztalk et ungac les assemblées il utilise.

Le processus entier devrait ressembler à:
1. Assurez-vous qu'il n'y a pas d'instances en cours d'exécution dans votre application. Vous pouvez toujours désactiver votre emplacement de réception et de laisser les instances en cours d'exécution complets
2. Supprimer l'application Biztalk
3. UnGAC associés ensembles
4. Déployer nouvelle version de l'application Biztalk et assemblées GAC associés
5. Redémarrez les instances hôtes utilisées par votre l'application Biztalk

EDIT: pour répondre à la préoccupation OP sur la suppression d'une application en cours d'exécution:

Il est en effet possible de déployer des ressources de façon indépendante et ne jamais supprimer votre application.
Mais cela ne signifie pas que vous n'interrompez pas le service.
Une orchestration par exemple, ne peut jamais être redéployée quand elle a des instances en cours d'exécution.
Donc, en supposant que vous avez divisé votre fonctionnalité correctement en applications, je trouve plus propre et plus facile de supprimer l'ensemble de l'application que d'aller après chaque ressource.
Sinon, oui vous pouvez aller remplacer vos ressources séparément.
Mais pour moi, cela ressemble à un surcoût causé par le fait de ne pas avoir correctement défini les applications.

3. BTDF

Le cadre de déploiement Biztalk est un bon outil pour avoir une sorte d'automatisation dans votre déploiement sans avoir à écrire les scripts vous-même.
Bon compromis entre la personnalisation selon vos besoins et le temps d'installation.

Je l'ai utilisé sur un projet indépendant. C'était très utile parce que j'étais capable de livrer un paquet avec seulement quelques instructions de déploiement, et le client non-techie pouvait se déployer sans douleur.

+0

J'ai un petit doute sur le second point Redéploiement, c'est-à-dire, lorsque l'application est en cours d'exécution sur le serveur, est-il vrai de supprimer l'application et d'installer la nouvelle? – Naidu

+0

@Naidu Vous devez attendre un moment lorsque votre application n'a pas d'instance en cours d'exécution et arrêter l'application en premier. –

+0

@Naidu J'ai ajouté des détails à la section Redéploiement de la réponse. –