Installation de l’Agent IKAN ALM via l’application WEB

Objectif

Si des actions de construction ou de déploiement sont planifiées sur un environnement local ou distant requérant une interaction avec le système Cible, un Agent IKAN ALM doit être installé sur cette Machine. Ce document technique explique la procédure d’installation d’un Agent IKAN ALM via l’application Web IKAN ALM (c’est-à-dire l’Interface Utilisateur).

Le terme "environnement distant" s’applique à un autre système que le système du Serveur IKAN ALM. Une construction locale sera exécutée sur la Machine Serveur et Agent IKAN ALM elle-même.

Par conséquent, ce document peut servir différents objectifs. Vérifiez si votre cas correspond à l’une des situations suivantes:

  • Vous avez installé l’application IKAN ALM Démo (qui installe le Serveur ainsi que l’Agent dans un conteneur Serveur Web Tomcat/Karaf OSGi) et vous voulez exécutez des Constructions et/ou des Déploiements sur une autre Machine que celle sur laquelle est installée cette application.

    Pour une installation Démo, l’Agent et le Serveur sont tous les deux exécutés sur la machine virtuelle Java du même conteneur OSGi. Notez que cela n’est pas la configuration recommandée pour un système de production puisqu’une Construction nécessitant beaucoup de mémoire peut causer l’arrêt du conteneur OSGi à cause d’erreurs dites "OutOfMemory".

  • Vous avez installé, ou vous avez l’intention d’installer, le Serveur IKAN ALM et vous voulez installer un Agent IKAN ALM sur la même Machine (en même temps que l’installation Serveur ou comme installation séparée), pour que vous puissiez exécuter des Constructions locales (ou même des Déploiements dans certain cas) sur la Machine Serveur. C’est la méthode conseillée pour exécuter des Constructions locales.

  • Vous avez installé le Serveur IKAN ALM et vous voulez installer un Agent IKAN ALM sur une autre Machine distante pour pouvoir exécuter des Constructions distribuées ou déployer et contrôler des Machines distantes.

Prérequis

Les exigences de matériel

  • RAM: minimum 512 Mo (Mégaoctets), recommandé 1 Go (Gigaoctets) ou plus.

    Notez qu’il ne s’agit que de valeurs indicatives. La quantité de RAM et d’espace disque nécessaire à une machine qui exécute un Agent IKAN ALM, dépend en grande partie de la quantité de ressources nécessaires aux scripts de construction et de déploiement et aux phases personnalisées utilisées par les projets qui y sont construits et déployés.

  • Espace de stockage disque minimum 1 Go.

    Il n’existe pas de règle absolue sur l’espace de stockage disque requis. L’espace occupé d’une installation simple d’un Agent IKAN ALM est inférieur à 40 Mo. L’espace réel requis par un Agent dépend du nombre et de la taille des Projets gérés par cet Agent, et de la taille des ressources nécessaires pour exécuter une Construction ou un Déploiement. Plus il y a de projets et plus les constructions sont larges, plus l’espace de stockage sera nécessaire sur le disque.

Java Virtual Machine JDK version 11 (LTS)

Tous les composants IKAN ALM nécessitent un Kit de développement Java (JDK) 11.

IKAN ALM a été testé pour fonctionner avec Oracle Java, Adoptium Eclipse Temurin (anciennement connu sous le nom AdoptOpenJDK), Azul Zulu fichiers binaires OpenJDK ainsi qu’avec OpenJDK de différents versions de Linux. Le Kit de développement logiciel Oracle Java (SDK) peux être obtenu via le site Web d’Oracle. Adoptium OpenJDK peux être obtenu via le site Web https://adoptium.net et Azul Zulu fichiers binaires OpenJDK via https://azul.com/downloads/?package=jdk.

Connexion PowerShell (Windows) ou SSH (Windows/Linux/Unix)

L’installation de l’Agent IKAN ALM avec l’Interface Utilisateur est gérée et envoyée du Serveur IKAN ALM à la Machine (distante) de l’Agent. Cela peut être fait via une connexion PowerShell (Windows) ou SSH (Windows, Linux ou Unix). Les deux types de connexion ont besoin d’un utilisateur et de données d’authentification pour fonctionner sur la Machine de l’Agent. Cet utilisateur a besoin de droits d’accès suffisants sur la Machine: écrire des fichiers, créer des répertoires, installer et exécuter des services ou des démons, etc. Pour plus d’informations sur les détails des opérations spécifiques et les paramètres de connexion, reportez-vous à la section correspondante.

Lorsque vous optez pour le type de connexion SSH, la Machine cible de l’Agent doit exécuter un serveur SSH. Il est conseillé de tester la connexion du Serveur IKAN ALM avec la Machine cible de l’Agent avant de tenter l’installation de l’Agent. Cela peut être fait dans une interface de commande ou avec un client SSH comme le client OpenSSH en dehors de la portée d’IKAN ALM. Cela garantit que le fichier ‘known_hosts’ et d’autres détails SSH sont correctement configurés.

Le type de connexion PowerShell nécessite au minimum la version 5 de PowerShell installé sur le serveur IKAN ALM et des paramètres de sécurité spécifiques sur le serveur IKAN ALM et la Machine de l’Agent.

Sur le serveur IKAN ALM, la stratégie d’exécution PowerShell doit être définie sur ‘Unrestricted’. Si ce n’est pas le cas, elle peut être obtenue en exécutant la commande suivante dans une invite PowerShell avec élévation de privilèges :

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope LocalMachine

Le "scope" doit être défini sur LocalMachine pour permettre au Serveur IKAN ALM, s’exécutant en tant que service Windows sous le compte ‘Système local’, d’exécuter des scripts PowerShell.

Sur la Machine cible de l’Agent IKAN ALM, la communication à distance PowerShell doit être activée. Exécutez la commande suivante à partir d’une invite PowerShell avec élévation de privilèges si elle doit être modifiée :

Enable-PSRemoting

Cela est nécessaire pour que la Machine distante de l’Agent accepte les sessions PowerShell distantes.

Il est également important que l’utilisateur PowerShell dispose de Droits d’administration pour pouvoir installer/désinstaller l’Agent IKAN ALM en tant que service Windows.

Connexion HTTP ou HTTPS avec le Serveur IKAN ALM

La communication entre le Serveur et les Agents se fait via le protocole XML-RPC. Cela signifie qu’IKAN ALM permet de l’informatique distribuée (des appels de procédure à distance) en utilisant HTTP ou HTTPS comme protocole de transport et XML pour l’encodage (pour plus d’informations, se référer au site www.xmlrpc.com). Pour pouvoir activer l’interaction XML-RPC, une connexion TCP/IP doit être correctement établie entre la Machine cible pour le nouvel Agent et la Machine Serveur.

Outil de script

Pour pouvoir exécuter un script de construction ou de déploiement sur la Machine distante, l’Outil de script approprié doit être installé sur la Machine cible de l’Agent. IKAN ALM supporte les Outils de script Ant, Gradle, NAnt et Maven2 ou 3. Les autres scripts (Perl, make, …) peuvent être appelés facilement via ces Outils de script supportés.

Si vous avez besoin de plus d’informations, contactez le service de support. Consultez les sites Web spécifiques (http://ant.apache.org, http://gradle.org, http://maven.apache.org et http://nant.sourceforge.net) pour télécharger et installer l’Outil de script approprié.

L’installation de l’Agent peut être lancée sans Outil de script installé sur la Machine Cible. Une fois l’Agent installé et en cours d’exécution, vous pouvez toujours installer et configurer un Outil de script.

Installation de l’Agent IKAN ALM via l’application WEB

L’installation de l’Agent IKAN ALM peut être configurée, démarrée et gérée à partir de l’Interface Utilisateur de l’application Web IKAN ALM. Après avoir créé la définition de la Machine dans l’Administration Globale, une fonctionnalité d’Installation est disponible dans le panneau de l’Administration Globale > Machines > Aperçu. En la sélectionnant, l’Interface Utilisateur de Configuration de l’installation de l’Agent s’ouvre. Après avoir configuré les détails d’installation de Configuration Générale et SecureShell ou PowerShell, l’installation de l’Agent peut être démarrée et suivie sur ce panneau. Selon le type de connexion choisi, le serveur IKAN ALM automatisera les étapes suivantes via SecureShell ou exécutera des scripts PowerShell qui agissent sur la Machine (distante) de l’Agent :

  1. Création d’un répertoire temporaire sur le serveur IKAN ALM, copie des fichiers d’installation de l’Agent configurables et remplacement des variables dans les fichiers d’installation

  2. Création d’un dossier de distribution de l’Agent sur la Machine distante

  3. Copie du fichier de distribution compressé de l’Agent, une archive Apache ANT compressée et les fichiers d’installation de l’Agent (script et propriétés Apache ANT, fichiers cmd et shell) dans le dossier de distribution de l’Agent.

  4. Lancement d’une invite cmd ou shell qui :

    1. Vérifie le JAVA_HOME sur la Machine de l’Agent

    2. Décompresse l’archive Apache ANT copiée

    3. Démarre un script ANT principal qui exécutera les étapes 5 à 13 sur la Machine de l’Agent

  5. Script ANT : Détecte les détails du Système d’exploitation de la nouvelle Machine de l’Agent. Cela est nécessaire pour (dés)installer des services ou des démons. Actuellement Windows, plusieurs versions Linux et AIX sont pris en charge. Pour les versions Linux Redhat et Debian, les Systemd et SystemV sont pris en charge.

  6. Script ANT : Décompresse la distribution de l’Agent

  7. Script ANT : Copie les propriétés d’installation et les fichiers cmd ou shell

  8. Script ANT : Arrête le service ou le démon de l’Agent IKAN ALM s’il est en cours d’exécution

  9. Script ANT : Désinstalle l’Agent IKAN ALM précédent si demandé

  10. Script ANT: Installe le nouvel Agent IKAN ALM. Il démarrera un script ANT (différent), qui fonctionne de la même manière que l’installation de l’Agent IKAN ALM via la console.

  11. Script ANT : Enregistre l’Agent IKAN ALM en tant que service Windows ou démon Linux

  12. Script ANT : Démarre le service ou le démon enregistré

  13. Script ANT : Nettoie les répertoires temporaires

  14. Enfin, suppression des fichiers qui ont été copiés à l’étape 3. Cette action s’exécute toujours, même si certaines des étapes précédentes ont échoué, ou si l’installation a été annulée ou abandonnée.

Avant de pouvoir démarrer l’installation, les champs Configuration Générale et les paramètres de connexion SecureShell ou PowerShell doivent être renseignés.

Dans le contexte d’Administration Globale, sélectionner Machines>Aperçu

Cliquez sur le lien image2 Install de la Machine du panneau Aperçu des Machines où vous voulez installer l’Agent.

Remplissez les champs du panneau Configuration de l’Installation. Les champs marqués avec un astérisque rouge sont obligatoires.

Si l’option "Afficher l’Aide du Formulaire" est activée, une description en ligne s’affiche pour chacun des champs.

Champs de la Configuration Générale

Champ Description

Chemin Java

Emplacement de la machine virtuelle Java (JVM) utilisée pour lancer l’Agent. Il doit s’agir d’un JDK Java 11.

Par exemple: D:/java/jdk11.0.10 ou /usr/lib/jvm/java-11-openjdk

Remarque: Sur les systèmes Unix ou Linux, spécifiez le chemin de l’installation Java réel (et non vers un lien symbolique), car l’installation vérifiera l’existence de fichiers jar spécifiques dans le chemin fourni.

Chemin d’Installation de l’Agent

Il s’agit de l’emplacement où l’agent sera installé, par exemple, /opt/ikan/alm ou C:/alm.

Plus loin dans ce guide, nous nous référerons à cet endroit avec le nom ALM_HOME.

Chemin de Distribution de l’Agent

Emplacement sur la Machine de l’Agent où les fichiers d’installation doivent être copiés. Par exemple distribution, /opt/ikan/agentdistro ou C:/ikan/alm/agent

Il est recommandé de différencier ce répertoire du chemin d’installation de l’agent et de ne pas en faire un sous-répertoire, par exemple. Après une installation réussie, les fichiers d’installation utilisés seront stockés dans un sous-répertoire avec le nom current de cet emplacement.

Communication sécurisée entre le Serveur et l’Agent

Option pour spécifier une communication sécurisée entre le Serveur et l’Agent IKAN ALM.

Port de l’Agent

Facultatif, valeur par défaut de la définition de la Machine.

Port sur lequel l’Agent sera à l’écoute. La valeur par défaut est "20020".

Si vous modifiez cette valeur, vous devrez également modifier la propriété "Port de l’Agent" de la Machine représentant cet Agent dans l’interface graphique IKAN ALM.

Nom du Serveur

Facultatif, valeur par défaut de la définition de la Machine.

Nom d’hôte (ou adresse IP) de la Machine du Serveur IKAN ALM.

L’Agent essaiera de se connecter au Serveur à l’aide de ce nom ou de cette adresse IP.

Accédez à Administration globale > Paramètres Système et Environnement local du panneau: la valeur de "Serveur IKAN ALM" représente la Machine du Serveur IKAN ALM.

Port du Serveur

Facultatif, valeur par défaut de la définition de la Machine.

Port sur lequel le Serveur IKAN ALM sera à l’écoute.

L’Agent essaiera de se connecter au Serveur sur ce port. Le paramètre peut être vérifié dans l’Administration Globale IKAN ALM :

Accédez à Administration Globale > Machines > Aperçu

Vérifiez la propriété "Port du serveur" de la Machine Serveur IKAN ALM. Si aucun Port du Serveur n’est défini sur la Machine Serveur IKAN ALM, le port 20021 sera utilisé.

Nom d’hôte de l’Agent

Optionnel.

Laissez ce champ vide, sauf, si vous souhaitez remplacer le nom d’hôte détecté automatiquement de l’Agent.

Par exemple, pour utiliser un nom de domaine complet comme almAgent.your.domain pour communiquer avec le Serveur IKAN ALM. Il est important que le nom d’hôte entré ici corresponde au nom DHCP de la Machine Agent (dans l’interface graphique IKAN ALM).

Adresse IP de l’Agent

Optionnel.

Laissez ce champ vide, sauf, si vous souhaitez remplacer l’adresse IP détectée automatiquement de l’Agent.

Par exemple, pour utiliser une adresse IP qui diffère de l’adresse IP interne pour communiquer avec le Serveur IKAN ALM. Il est important que l’adresse IP entrée ici corresponde à l’adresse IP de la Machine Agent (dans l’interface graphique IKAN ALM).

Les trois premiers champs suivants sont les numéros de port spécifiques du conteneur Karaf hébergeant le démon de l’Agent IKAN ALM. Normalement, il n’est pas nécessaire de modifier ces numéros de port, sauf si vous avez des conflits de port. Pour plus d’informations, reportez-vous à la documentation Karaf container 4.0: https://karaf.apache.org/manual/latest/#_instances

Champ Description

Port de Karaf RMI Registry

Port de Karaf RMI Registry de l’Agent

La valeur par défaut est “1099”.

Port de Karaf RMI Server

Port de Karaf RMI Server de l’Agent

La valeur par défaut est “44444”.

Port de Karaf SSH

Port de Karaf SSH de l’Agent.

La valeur par défaut est “8101”.

Chemin du journal Karaf

Le chemin relatif du journal Karaf de l’Agent IKAN ALM.

Ce paramètre est utilisé par le Serveur IKAN ALM lors de l’affichage de la Trace de la Machine d’un Agent sur l’écran Statut détaillé de la Machine.

Exécuter la Désinstallation de l’Agent

Option indiquant si le processus de désinstallation doit s’exécuter en premier pour désinstaller l’Agent IKAN ALM précédemment installé.

La valeur par défaut est “Oui”.

Chemin du programme de désinstallation

Optionnel.

Emplacement du programme de désinstallation "Uninstaller" des Agents installés manuellement.

Il n’est pas nécessaire de définir cette valeur pour les agents qui ont été installés à l’aide de cette page.

Vous devez définir cette option si vous souhaitez que la procédure d’installation désinstalle automatiquement un Agent précédemment installé manuellement. Par exemple, si un Agent ALM 5.8 a été installé à l’aide du programme d’installation de la console, vous devez définir ce champ avec l’emplacement de ce programme d’installation de la console, comme C:/ikan/install/IKAN_ALM_5.8_console.

La procédure d’installation détecte la version de l’Agent, arrête et supprime l’ancien service de l’Agent. Notez que cela ne fonctionnera que si a) le service de l’Agent a été installé à l’aide de son nom de service par défaut et b) si le fichier uninstall.properties du programme d’installation de la console contient les valeurs correctes pour désinstaller l’agent.

Délai d’expiration pour arrêter/démarrer l’Agent

Délai d’expiration en secondes pour attendre l’arrêt ou le démarrage du service de l’Agent.

Type de Connexion

Type de connexion entre le Serveur IKAN ALM et la Machine cible de l’Agent. Les options possibles sont SSH (SecureShell) ou PowerShell.

Une fois que vous avez sélectionné le type de connexion, le panneau SecureShell ou PowerShell approprié s’affiche en dessous.

Champs de la Connexion

Selon le type de connexion choisi, remplissez les champs dans le panneau SecureShell ou PowerShell. Les champs marqués d’un astérisque rouge sont obligatoires :

SecureShell

Champ Description

Nom d’hôte SSH

Optionnel.

Nom d’hôte utilisé lors de l’établissement d’une connexion SSH avec la Machine de l’Agent. Laissez ce champ vide, sauf, si vous souhaitez remplacer le nom d’hôte ou l’adresse IP de la définition de la Machine de l’Agent.

Port

Port SSH de l’Agent. La valeur par défaut est 22.

Type d’authentification

Sélectionnez le type d’authentification requis. Options disponibles :

  • Nom/Mot de passe

  • Clé d’authentification

Nom d’utilisateur

Nom d’utilisateur SSH pour l’authentification Nom/Mot de passe. Notez que cet utilisateur sera également utilisé pour enregistrer le démon de l’Agent sur les machines Linux et Unix.

Mot de passe

Mot de passe SSH requis pour l’authentification Nom/Mot de passe

Répétez le mot de passe

Répétez le mot de passe pour l’authentification Nom/Mot de passe. Notez que ce mot de passe sera également utilisé pour enregistrer le démon de l’Agent sur les machines Linux et Unix.

Chemin du fichier des clés

Emplacement du fichier des clés SSH contenant la clé privée requis pour l’authentification par Clé. Nous vous conseillons de générer les clés au format de fichier PEM. Cela peut être fait en ajoutant -m PEM aux arguments de ssh-keygen lors de la génération ou de la mise à jour d’une clé.

Phrase de passe

Phrase de passe SSH optionnelle pour l’authentification par Clé.

Répétez la Phrase de passe

Répétez la Phrase de passe SSH pour l’authentification par Clé.

Type de Shell

Type de Shell de la Machine de l’Agent. Différents processus seront exécutés en fonction du type d’environnement de la ligne de commande. Options disponibles :

  • CMD (Windows)

  • PowerShell (Windows)

  • Bash (Linux and Unix)

Délai d’expiration

Délai d’expiration en secondes pour l’établissement d’une connexion SSH. La valeur par défaut est 20 secondes.

PowerShell

Champ Description

Nom d’hôte

Optionnel.

Nom d’hôte utilisé pour des commandes PowerShell distantes sur la Machine de l’Agent. Laissez ce champ vide, sauf, si vous souhaitez remplacer le nom d’hôte ou l’adresse IP de la définition de la Machine de l’Agent.

Nom d’utilisateur

Nom d’utilisateur utilisé pour des commandes PowerShell distantes sur la Machine de l’Agent.

Mot de passe

Mot de passe utilisé pour des commandes PowerShell distantes sur la Machine de l’Agent.

Répétez le mot de passe

Répétez le mot de passe utilisé pour des commandes PowerShell distantes sur la Machine de l’Agent.

Nom de l’Exécutable

Optionnel.

Exécutable PowerShell. Lorsque la valeur est laissée vide, l’exécutable utilisé par défaut est powershell.exe.

Chemin de l’Exécutable

Optionnel.

Chemin d’accès à l’exécutable. Lorsqu’il est laissé vide, on suppose que l’exécutable PowerShell est présent dans la variable PATH.
Exemple: C:/Program Files/Powershell7.0.3/7

Délai d’expiration

Optionnel.

Délai d’expiration en secondes après lequel le processus PowerShell sera arrêté de force.

Consultez la section Configuration requise (2.3) avec quelques détails sur la connexion SSH et PowerShell.

Dès que vous avez rempli les champs marqués comme requis, cliquez sur Enregistrer.

Si l’action réussit, vous pouvez continuer et exécuter le programme d’Installation de l’Agent.

Exécution de l’Installation de l’Agent

Démarrez l’installation en cliquant sur le bouton Installer dans le panneau Informations de la machine.

La configuration de l’installation sera validée. Lorsque qu’elle est correcte, la fenêtre contextuelle Confirmer l’Installation de l’Agent s’affiche.

image4

Cliquez sur Démarrer l’Installation pour démarrer l’Installation de l’Agent.

L’Installation de l’Agent sera démarrée par le Serveur IKAN ALM. Les différentes étapes d’installation seront exécutées comme décrit dans l’introduction de ce chapitre. Le processus sera enregistré dans le panneau État de l’Installation de l’Agent. Son état passe de Aucune Installation en cours à Installation en cours.

image5

Vous pouvez activer l’option Actualisation automatique, elle vous permet de suivre les étapes d’exécution de l’Installation de l’Agent. Une fois l’installation terminée, la fonction d’Actualisation automatique sera arrêtée automatiquement.

Vous pouvez interrompre le processus d’installation en cliquant sur le bouton Abandonner sous le panneau État d’Installation de l’agent.

La fenêtre contextuelle Confirmer l’interruption de l’Installation s’affiche.

image6

Cliquez sur Abandonner pour abandonner l’Installation de l’Agent, définitivement.

Le Serveur IKAN ALM essaiera d’annuler l’installation pendant l’exécution. Lorsque vous sélectionnez l’option Forcer l’interruption immédiate, le Serveur arrête brusquement les processus en cours d’exécution.

Une fois l’installation terminée, la valeur du panneau État de l’Installation de l’Agent devient Aucune installation en cours d’exécution.

Vérifiez le Journal de l’Installation pour voir si l’Installation a réussi. Selon l’option Exécuter la Désinstallation de l’Agent, vous devriez voir plusieurs messages "BUILD SUCCESSFUL" dans le journal. Ci-dessous une capture d’écran d’une Installation réussie avec une connexion PowerShell:

image7

Vous pouvez vérifier l’Activité de l’Agent nouvellement installé et vérifier s’il s’exécute correctement.

Sélectionnez le bouton Précédent dans le panneau Informations de la machine.

Vous retournerez à l’écran Aperçu des machines.

Cliquer le lien image8 Statut de l’Agent nouvellement installé sur le panneau d’Aperçu des Machines.

La page Statut détaillé de la Machine s’affiche et vous pouvez vérifier l’Activité actuelle et la Trace de la machine.