Installation de DevOps Test Hub sur Azure Kubernetes Service

Vous pouvez installer IBM® DevOps Test Hub (Test Hub) sur Azure Kubernetes Service (AKS) qui dispose d'un environnement Kubernetes pour exécuter des tests fonctionnels, d'intégration et de performance. Test Hub combine toutes les capacités dans un seul navigateur web pour les testeurs et les non testeurs. Les capacités comprennent les essais, les données d'essai, l'environnement d'essai ou les rapports d'essai.

  • Vous devez avoir effectué les tâches suivantes:

    • Effectuez les tâches indiquées dans la section Conditions préalables. Voir Conditions préalables à l'installation de DevOps Test Hub sur Azure Kubernetes Service.

    • Facultatif: Activez la fonction d'autoscaler si vous souhaitez qu'un nouveau conteneur ne soit utilisé que pour exécuter des ressources de test. Voir Autoscaler de cluster sur Azure Kubernetes Service.

    • Copie de la clé d'habilitation de la bibliothèque du logiciel du conteneur.

    • Connexion au cluster AKS.

      Note: Vous pouvez exécuter la commande az login pour vous connecter à AKS de manière interactive.
    • Abonné à l'abonnement Azure actif.

      Note: Vous pouvez exécuter la commande az account set --subscription {subscription_name} pour définir votre abonnement actif.
    • Configuration de l'emplacement de votre cluster AKS.

      Note: Vous pouvez exécuter la commande az configure --defaults location={location_name} pour définir l'emplacement de votre cluster AKS.
      Tip: Vous pouvez exécuter la commande suivante pour obtenir la liste de tous les emplacements disponibles:
      az account list-locations --query "[].{DisplayName:displayName, Name:name}" -o table

Le tableau suivant énumère les variables que vous devez remplacer par la valeur réelle dans la commande.

Variables Description
{RESOURCE_GROUP}

Le nom du groupe de ressources que vous avez créé lors de la création du cluster AKS.

{azure_cluster}

Le nom du cluster Azure que vous avez créé lors de la création du cluster AKS.

{azure_container_registry}

Le nom de l'ACR que vous avez créé lors de la configuration de l'AKS.

{my-ingress-dns-name}

Le nom d'entrée et la valeur de la zone DNS que vous avez fournis lors de la configuration du cluster AKS.

Par exemple, si le nom d'entrée et la valeur de la zone DNS que vous avez fournis sont devops, myorg.nonprod, la valeur doit être devops.myorg.nonprod. {my-ingress-dns-name} doit être devops.myorg.nonprod.

{ENTITLEMENT_REGISTRY_KEY}

La clé que vous avez copiée de la bibliothèque du logiciel Container.

$HELM_NAME
Le nom de la version de votre choix.
Note: Le nom de la version doit être composé de caractères alphanumériques en minuscules ou de - (trait d'union). Le nom de la version doit également commencer par un caractère alphabétique et se terminer par un caractère alphanumérique. Par exemple, my-org ou abc-123.
{RATIONAL_LICENSE_FILE}

L'adresse IP du serveur de clé de licence, si vous souhaitez définir la valeur de la licence pour la première fois.

Important: Lorsque vous mettez à niveau le produit à partir de la version précédente, vous devez configurer la valeur de la clé de licence du serveur dans la fenêtre de configuration de la licence de Team Space lorsque l'installation du serveur est terminée.
{PASSWORD_SEED}

Une valeur de votre choix pour le mot de passe.

Important: Cette graine de mot de passe est utilisée pour créer plusieurs mots de passe par défaut pour le serveur. Vous devez conserver la graine de mot de passe en toute sécurité. Lorsque vous installez Test Hub en utilisant la sauvegarde des données de l'utilisateur, vous pouvez réutiliser la graine de mot de passe. Vous pouvez utiliser cette graine pour restaurer les fichiers sauvegardés sur la version actuelle ou sur des versions ultérieures de Test Hub.
{ip_address}.nip.io

L'adresse IP attribuée à Emissary-ingress.

Vous pouvez exécuter la commande suivante pour obtenir l'adresse IP de Emissary-ingress:
kubectl get ingress -A
Remember: Le devops-system est le nom de l'espace de noms. Si vous avez créé un espace de noms en utilisant une valeur différente, vous devez utiliser cette valeur à la place de devops-system dans toutes les instances de cette procédure.
  1. Exécutez la commande suivante:
    helm repo add ibm-helm https://raw.githubusercontent.com/IBM/charts/master/repo/ibm-helm --force-update helm pull --untar ibm-helm/ ibm-devops-prod --version 11.0.1 cd  ibm-devops-prod
  2. Exécutez la commande suivante pour configurer kubectl afin qu'il se connecte au cluster AKS:
    az aks get-credentials -g {RESOURCE_GROUP} -n {INSTANCE} --public-fqdn --overwrite-existing kubectl get nodes 
    Note: Vous pouvez vérifier la connexion au cluster AKS en exécutant la commande kubectl get nodes qui affiche une liste des nœuds du cluster.
  3. Exécutez la commande suivante pour installer Test Hub:
    Notes:
    • Vous devez fournir l'espace de noms comme valeur de $NAMESPACE dans la commande. Vous pouvez utiliser devops-system comme valeur de $NAMESPACE.

      Vous devez fournir la valeur de $HELM_NAME dans la commande. Vous pouvez utiliser main comme valeur pour $HELM_NAME.

    • Si vous avez activé la fonctionnalité de mise à l'échelle automatique pour utiliser un nouveau conteneur uniquement pour exécuter des actifs de test, vous devez ajouter -f ibm-devops-prod /values-dedicated-nodes.yaml dans la commande d'installation helm suivante.

    • Lorsque le domaine d'entrée est accessible à des parties non approuvées, vous devez définir le paramètre d'inscription sur false dans la commande suivante.

    helm update --install $HELM_NAME. -n $NAMESPACE \N --create-namespace \N --set global.domain=$INGRESS_DOMAIN \N -f values-k8s.yaml \N -f  ibm-devops-prod/values-dedicated-nodes.yaml \N --set global.persistence.rwxStorageClass=azurefile \N --set imageRegistry=$IMAGE_REGISTRY \N --set-literal passwordSeed=$PASSWORD_SEED \N --set signup=true \N --set rationalLicenseKeyServer=$RATIONAL_LICENSE_FILE \N --set license=true 
  4. Exécutez la commande suivante à partir du répertoire ibm-devops-prod/files pour vérifier et tester le logiciel serveur installé:
    bash  ibm-devops-prod/files/helm-test-diag.sh {main} -n devops-system
Vous avez installé Test Hub. Le terminal affiche les informations suivantes:
  • URL permettant d'accéder à Keycloak pour gérer et authentifier les utilisateurs.

    Le nom d'utilisateur peut être keycloak et le mot de passe peut être récupéré en exécutant la commande suivante:
    kubectl get secret -n devops-system{main} -keycloak-postgresql -o jsonpath="{.data.password}" | base64 --decode ; echo 
    Où:
    • {main} est le nom de la version fournie lors de l'installation de Test Hub.

    • devops-system est le nom de l'espace de noms qui a été créé lors de l'installation de Test Hub.

  • L'URL pour accéder à l'interface utilisateur Test Hub.

Vous pouvez effectuer les tâches suivantes: