IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Websphere Java Discussion :

Script de déploiement automatique


Sujet :

Websphere Java

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Script de déploiement automatique
    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.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 352
    Points : 445
    Points
    445
    Par défaut
    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

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    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.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 352
    Points : 445
    Points
    445
    Par défaut
    Citation Envoyé par simoben Voir le message
    "le mieux étant d'activer dans le premiers écrans l'affichage de toutes les étapes".
    Lors de l'installation, sur le 1er écran tu as le radio-button 'Comment voulez-vous installer l'application ?' Il faut sélectionner 'Me montrer toutes les options et tous les paramètres d'installation.'

    Citation Envoyé par simoben Voir le message
    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 "reproduire les commandes du script".
    Tu as un wsadmin.bat dans le répertoire /bin. Pour reproduire les commandes c'est un peu plus compliqué, car tu n'as pas de moyen de 'trapper' les commandes de la console, il faut comprendre ce qui se passe au niveau JMX pour chaque écran de déploiement

    Bon courage

    Jacques Desmazières

  5. #5
    Candidat au Club
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    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

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 352
    Points : 445
    Points
    445
    Par défaut
    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

  7. #7
    Candidat au Club
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    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

  8. #8
    Candidat au Club
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    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
    Images attachées Images attachées  

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 352
    Points : 445
    Points
    445
    Par défaut
    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

  10. #10
    Candidat au Club
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    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.

  11. #11
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    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.

Discussions similaires

  1. Script php lancer automatiquement
    Par suya95 dans le forum Administration système
    Réponses: 5
    Dernier message: 14/08/2006, 11h04
  2. faire un script se lancant automatiquement
    Par boss_gama dans le forum ASP
    Réponses: 6
    Dernier message: 10/08/2006, 16h21
  3. Script de déploiement en mode silencieux
    Par nicolas310380 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 04/08/2006, 08h46
  4. Réponses: 10
    Dernier message: 02/08/2006, 15h32
  5. script d'installation automatique
    Par zero7 dans le forum Windows
    Réponses: 2
    Dernier message: 23/05/2006, 14h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo