Linux

Déploiement d'un environnement opérationnel HCL Commerce version 9.0.0.0 à 9.0.1.17 avec Docker Compose

Déployez un environnement opérationnel HCL Commerce sur une machine différente de l'environnement de création et définissez un search_repeater et un search_slave pour communiquer avec le maître de recherche sur l'environnement de création.

Le search_repeater doit ajouter l'adresse IP de l'hôte de création à extra_hosts, afin que le répéteur puisse découvrir l'emplacement du search_master.

Avant de commencer

  1. Assurez-vous que les images Docker sont chargées dans votre registre Docker privé. Si vous êtes administrateur responsable de votre registre Docker, voir Téléchargement du logiciel HCL Commerce.
  2. Assurez-vous que votre machine dispose des exigences minimales d'un processeur de 2 cœurs, 8 Go de RAM et 50 Go d'espace disque libre.
  3. Assurez-vous que vous déployez l'environnement opérationnel sur une machine différente de l'environnement de création. Si vous déployez les environnements de création et opérationnel sur la même machine, vous rencontrerez des conflits de port.
  4. Préparez une base de données Db2 pour une utilisation avec HCL Commerce ou Préparez une base de données Oracle pour une utilisation avec HCL Commerce.
  5. Chargez le schéma de base de données de production HCL Commerce en définissant type=production.

Procédure

  1. Installez Docker.
    1. Installez la version 19.03.8 ou une version ultérieure de Docker.
    2. Installez la version 1.24.1 ou une version ultérieure de Docker Compose.
    3. Envisagez de créer un groupe Docker Unix.
      Remarque : Vous devez ajouter le préfixe sudo aux commandes Docker si vous ne créez pas un groupe Docker Unix. Pour plus d'informations, voir .
  2. Téléchargez l'exemple de fichier Docker Compose suivant en fonction de la configuration de la base de données.
    OptionExemple Docker Compose
    Exécution de la base de données dans un conteneur Docker Téléchargez le fichier suivant :
    Remarque : Si le lien ne vous invite pas à enregistrer, cliquez avec le bouton droit et enregistrez le fichier. Ouvrez le fichier dans un éditeur de code source pour afficher et modifier au format YAML approprié.

    Les fichiers YAML sont des exemples partant du principe que vous utilisez une image Docker Db2. Assurez-vous que vous mettez à jour tous les paramètres qui se trouvent entre crochets <>. Les exemples de fichiers sont commentés avec des descriptions des paramètres.

    Base de données s'exécutant sur un serveur standard (et non sur un conteneur Docker) Téléchargez le fichier suivant :
    Remarque : Si le lien ne vous invite pas à enregistrer, cliquez avec le bouton droit et enregistrez le fichier. Ouvrez le fichier dans un éditeur de code source pour afficher et modifier au format YAML approprié.
    Assurez-vous que vous mettez à jour tous les paramètres qui se trouvent entre crochets <>. Les exemples de fichiers sont commentés avec des descriptions des paramètres.
  3. Oracle Téléchargez le fichier java/ojdbc8.jar pilote JDBC Oracle à partir du dossier d'installation Oracle et placez-le sous le répertoire où vous avez enregistré le fichier Docker Compose.
  4. Dans une interface de ligne de commande, accédez à l'endroit où vous avez enregistré le fichier Docker Compose.
  5. Exécutez la commande applicable pour déployer les conteneurs Docker en fonction du fichier Docker Compose dont vous disposez.
    • docker-compose -f docker-compose-live.yml up -d
    • docker-compose -f docker-compose-live-extdb.yml up -d
    Remarque :
    • Si les images ne sont pas déjà sur votre ordinateur, la commande télécharge des images Docker à partir de votre registre. Les images font environ 10 Go au total. La durée de cette commande dépend donc de votre connexion Internet.
    • Chaque fois que votre ordinateur virtuel Docker est redémarré, vous devez redémarrer manuellement les conteneurs Docker en réexécutant cette commande docker-compose -f <file> up -d.
  6. Si vous avez chargé des exemples de données dans votre base de données, répliquez l'index de recherche à partir de l'environnement de création.
    1. Envoyez la demande REST suivante (POST) et ajoutez l'authentification de base avec l'identifiant de connexion spiuser et le mot de passe pour le spiuser.
      Vous pouvez répliquer l'index de recherche à l'aide de l'une des méthodes suivantes :
      • En utilisant l'utilitaire curl. Utilisez la commande curl suivante avec le mot de passe en texte brut spiuser.
        curl -k -u spiuser:<spiuserPassword> -X POST http://<search_repeater_hostname>:3737/search/admin/resources/index/replicate
      • En utilisant un plug-in de navigateur tel que HttpRequester (pour Mozilla Firefox) ou Postman (pour Google Chrome). Utilisez l'URL suivante et authentifiez-vous avec l'utilisateur spiuser et le mot de passe en texte brut spiuser.
        http://<search_repeater_hostname>:3737/search/admin/resources/index/replicate
    2. Vérifiez le statut de l'index en émettant la commande statusCheck suivante. Un statut de retour OK indique que la réplication a réussi.
      http://search_repeater_hostname:3737/solr/MC_10001_CatalogEntry_en_US/operation?command=statusCheck
      Exemple de réponse REST :
      { "responseHeader":{ "status":0, "QTime":18}, 
      "command":"statusCheck", "status":"OK", 
      "Detailed Status":[ "Start Time","2018-08-30T07:25:07.757Z", "isMasterReplicationEnabled",true, 
      "isInvalidMasterError",false, "isReplicationFailed",false, "isNextExecutionAtPassed",false, 
      "isNextExecutionAtPassed.details",[ "nextExecutionAt","Thu Aug 30 15:39:58 CST 2018", "currentDate",
      "Thu Aug 30 15:25:07 CST 2018"], "isMasterSlaveIndexInSync",true, 
      "isMasterSlaveIndexInSync.details",[ "slaveIndexVersion",1535613375728, "slaveIndexGeneration",2, 
      "masterIndexVersion",1535613375728, "masterGeneration",2], "End Time","Thu Aug 30 15:25:07 CST 2018", 
      "Elapsed Time",0.018]}
  7. Vérifiez le nombre catentry total dans l'index CatalogEntry. Voici un exemple utilisant le noyau de recherche de réponse MC_10001_CatalogEntry_en_US. Si le numFound n'est pas nul, l'index a été répliqué à l'esclave.
    http://search_repeater_hostname:3737/solr/MC_10001_CatalogEntry_en_US/select?q=*%3A*
    Exemple de réponse REST :
    { "responseHeader":{ "status":0, "QTime":0, "params":{ "q":"*:*"}}, 
    "response":{"numFound":3918,"start":0,"docs":[ { "catentry_id":"10001", "subscripType":"NONE
  8. Assurez-vous que vous pouvez vous connecter au centre de gestion.
    • https://<transaction_server_hostname>:8000/lobtools/cmc/ManagementCenter
  9. Assurez-vous que vous pouvez consulter l'exemple de magasin Aurora.
    • https://<store_server_hostname>:8443/wcs/shop/en/auroraesite