|
Publicité ' | ||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mai 2004 Messages : 7 ![]() |
bonjour,
je suis actuellement en stage. et je dois réaliser un script de déploiement automatique. je vois que certains d'entre eux y sont parvenus. je développe une application j2ee sous websphere eclipse. et je dois donc la déployer sur un serveur automatiquement. est-ce que les scripts qui figurent au-dessus peuvent m'être d'une quelconque aide. je suis entrain de découvrir. donc si quelqu'un peut m'aider. Merci d'avance. |
|
|
00
|
|
|
#2 |
|
Membre éprouvé
![]() Inscription : janvier 2006 Messages : 352 ![]() |
En effet ces scripts doivent te permettre de faire un déploiement automatisé. Pour les mettre au point assure-toi de savoir faire le déploiement en mode manuel, le mieux étant d'activer dans le premiers écrans l'affichage de toutes les étapes (ainsi tu verras les options par défaut qui sont renseignées).
Dans un second temps réalise ton install en ligne de commande avec wsadmin. Il te suffira alors de reproduire les commandes dans ton script ant. Jacques Desmazières |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mai 2004 Messages : 7 ![]() |
merci pour votre aide.
j'ai effectivement toutes les démarches à faire pour le déploiement en manuel. j'y suis arrivé. c'est fastidieux à faire, mais j'y suis arrivé, avec tous les mappings à faire. par contre j'ai pas bien compris. que voulez-vous dire par : 1- "le mieux étant d'activer dans le premiers écrans l'affichage de toutes les étapes". 2- "réalise ton install en ligne de commande avec wsadmin. Il te suffira alors de reproduire les commandes dans ton script ant" j'ai lu la documentation de wsadmin. mais comment on ouvre la ligne de commande sur WSA. et puis surtout comment reproduire les commandes du script. que voulez-vous dire par "reproduitre les commandes du script". Merci de votre aide, qui m'a vraiment permis, de m'orienter dans mon analyse. |
|
|
00
|
|
|
#4 | ||
|
Membre éprouvé
![]() Inscription : janvier 2006 Messages : 352 ![]() |
Citation:
Citation:
Bon courage Jacques Desmazières |
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mai 2004 Messages : 7 ![]() |
merci pour ta réponse.
en fait ce que j'ai fait jusqu'à présent c'est refaire le même script que tu as donné précedement. à savoi, la création des mbeans pour les ressources, fournir un port 'ecoute avec BindJndiForEJBMEssageBinding, les noms JNDI pour les beans BindJndiForEJBNonMEssageBinding, mapping des references ressources avec MapResEnvReftoRes, mapping des modules web vers les serveurs d'application... est-ce que je suis sur la bonne voie où dois-je me replier sur ce qui se passe niveau JMX. Une dernière question : une fois que j'ai fini l'ensemble de mes paramètrages (tt les mappages et les etapes du déploiement), je les enregistre sur un fichier texte avec une extension .jacl. est-ce bien çà. Merci pour tout |
|
|
00
|
|
|
#6 |
|
Membre éprouvé
![]() Inscription : janvier 2006 Messages : 352 ![]() |
En fait si tu ne fais que du binding, sans modification de la configuration du serveur (création des ressources, virtual host, datasource) tu dois pouvoir tout réaliser avec la command d'installation.
Et là le mieux est de faire l'install interactive et récupérer la commande (il n'y aura alors qu'une commande à exécuter). Tu peux alors créer cette commande dans Ant si tu dois la construire dynamiquement, puis tu utilises le wrapper ant (wsinstall) pour le déploiement. Sinon, tu enregistres la commande dans un fichier .jacl et tu l'exécute avec le wsadmin en ligne de commande ou depuis Ant Jacques Desmazières |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : mai 2004 Messages : 7 ![]() |
voici en fait la ligne de commande que je compte passer à wsadmin
$AdminApp install D:\RFTB\rftb.ear {-server server1 -installed.ear.destination /usr/WebSphere3/AppServer/installedApps/wsdscer107d31 –cell wsdscer107d31 -node wsdscer107d31} dans quel cas faut-il que je configure le serveur: création des ressources, virtual host, datasource.? Voici les différentes etapes ce que je compte faire pour le déploiement automatique: 1- Spécification du chemin d’accès au serveur et du hôte par défaut : a- spécifier le chemin où se trouve le fichier EAR, que ce soit sur un serveur ou en local b- Ne pas spécifier de préfixe unique pour les beans c- Ne pas remplacer les liaisons existantes d- spécifier le hôte par défaut : global virtualHostName 2- Options d’installation de l’EAR a- répertoire d’installation de l’EAR installed.ear.destination x:/…. b- Distribution de l’application lappend installOptions "-distributeApp" c- création de Mbeans pour les ressources CreateMbeansForRessources d- Intervalle de rechargement de 3 secondes lappend installOptions "-reloadInterval" 3- Fournir les ports d’écoute : BindJndiForEJBMessageBinding les différents mapping que j'ai enoncé dans le précedent post. et le mappage des modules web avec le hôte virtuel.¨ Par contre, je n'utilise pas : set dataSourceFor20EJBModules [subst {}] set dataSourceFor20CMPBeans [subst {}] set mapModulesToServers [subst {}] set backendIdSelection [subst {}]. Faut-il que je les utilise? parceque je ne vois pas où cela pourrait me servir. Dans l'attente de votre réponse. Cordialement |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : mai 2004 Messages : 7 ![]() |
Re bonjour
Je pense que j'avance un peu dans mon script. j'ai juste une question. pour lancer le script, est-ce que je peux lancer wsadmin.sh directement de mon environement de déploiement et saisir: Vous trouverez l'image ci-joint de la ligne de commande. Cordialement |
|
|
00
|
|
|
#9 |
|
Membre éprouvé
![]() Inscription : janvier 2006 Messages : 352 ![]() |
De loin cela semble correct, par contre quelle version de WAS utilisez-vous ? A partir de la 6 il faut lancer le wsadmin qui se trouve dans le profil du serveur sur lequel vous déployez, pour les versions précédentes, il n'y en a qu'un seul donc pas de problème.
Pour lancer le wsadmin.sh depuis votre environnement de déploiement, il faudra peut-être exécuter le setupCmdLine.sh afin de positionner les variables d'environnement. Personnellement j'exécute le script toujours à partir du répertoire WAS en fournissant le path complet vers l'ear. Jacques Desmazières |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : mai 2004 Messages : 7 ![]() |
Bonjour,
J'utilise une version 5.1 de WAS. Il n'y q'un seul wsadmin.sh. je lance wsadmin directement de mon serveur de déploiement. par contre une dernière question : est-ce qu'il faut que je spécifie le nom de l'ear dans le scrip ou est-ce que global earFile et global appname les prends directement de la commande passée sur wsadmin, càd est-ce qu'il récupére le repertoire de l'ear, le répertoire du déploiement et le nom de l'application de la commande : -f "monscript.jacl" $AdminApp install D:\RFTB\rftb.ear {-server server1 -installed.ear.destination /usr/WebSphere3/AppServer/installedApps/wsdscer107d31 –cell wsdscer107d31 -node wsdscer107d31} Ou bien faut-il les mentionner directement dans le script. Merci de votre réponse. |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Abdelilah EL YOSSRIAdministrateur de base de données Inscription : avril 2012 Messages : 2 ![]() |
Voici un petit bout de code qui pourrait aider , je l'ai utilisé pour mettre à jour les applis sur WAS 7 ca marche impeccable :
je met ceci dans un fichier sh qui lui appele un fichier .py: sh /usr/WebSphere7/AppServer/profiles/AppSrv01/bin/wsadmin.sh -lang jython -user tonuser -password ton pass -f /rep/tonfichier.py $1 avec /rep/tonfichier.py : le chemin du script .py qui met à jour l'appli $1: la chemin de ton fichier ear contenu du fichier tonfichier.py : import sys numberOfArgs = len(sys.argv) if numberOfArgs < 1: print "Veuillez revoir les parametres introduits" else: #Obtention du nom du ear filePath1 = str(sys.argv[0]) strAppToInstall = filePath1[filePath1.rfind("/")+1:len(filePath1)]; print "Mise jour de ", strAppToInstall; #Mise jour de l appli appToUpdate = "" appsBefore = AdminApp.list().split("\n"); for iApp in appsBefore: if str(strAppToInstall).find(iApp) >= 0: appToUpdate = iApp; print "Mise jour app: ", appToUpdate appToUpdate = str(appToUpdate).strip(); print filePath1 AdminApp.update(appToUpdate, 'app', '[-operation update -contents '+filePath1+ ' -usedefaultbindings -nodeployejb ]') print "Application mise a jour" AdminConfig.save(); Sync1 = AdminControl.completeObjectName('type=NodeSync,node=AIXDEV02Node01,*') AdminControl.invoke(Sync1, 'sync') J'espere quelqu'un vu la date de la question le sujet devra être obselète. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com