Fermer

juillet 3, 2022

Automatisation de la publication en masse AEM à l’aide de Jenkins.

Automatisation de la publication en masse AEM à l’aide de Jenkins.


Aperçu

Cet article explique comment utiliser une tâche Jenkins et un script shell pour activer et désactiver diverses pages ou chemins dans AEM. Une fois que vous avez fini de créer ou de modifier votre page, l’étape suivante consiste à publier cette page. Là encore, accédez au chemin correct de cette page dans la console du site Web, puis cliquez avec le bouton droit sur la page et sélectionnez l’option « Activer ». Quoi Si vous avez plusieurs pages à activer, cela prend un peu de temps. Ainsi, en utilisant un seul job Jenkins, vous pouvez activer ou désactiver plusieurs pages simultanément. Avant de continuer, permettez-moi de vous présenter brièvement le « outil cURL

Qu’est-ce que cURL ?

Le terme signifie « Bibliothèque de requêtes d’URL Curl ». Un cURL est un outil de ligne de commande, il est utilisé de manière appropriée pour transférer et manipuler des données vers le serveur ou depuis le serveur. Il suit la règle REQUEST-RESPONSE, un client qui demande quelque chose à un serveur et reçoit une réponse du serveur. Il peut envoyer des données en utilisant une variété de protocoles, y compris HTTP, HTTPS, FTP, SCP, SMTP, LDAP, etc. Il est excellent pour automatiser les processus, et si vous savez écrire des scripts, vous pouvez développer des outils puissants qui peuvent simplifier votre travail. traiter.

La plupart des systèmes d’exploitation sont désormais livrés avec cURL préinstallé.

Pour vérifier, ouvrez CMD/TERMINAL et tapez « curl -help)

Utilisation de cURL dans AEM.

Étant donné qu’AEM est basé sur les protocoles REST, vous pouvez effectuer certaines tâches, notamment la création, l’installation et la réplication de packages à l’aide de curl. De plus, vérifiez la configuration OSGI, gérez les utilisateurs et les groupes, verrouillez et déverrouillez la page, et bien plus encore.

Vous avez probablement une compréhension fondamentale de curl. Transformons maintenant l’objectif principal de ce blog en exécution.

Qu’est-ce que Jenkins ?

Jenkins est un outil d’automatisation gratuit et open source qui peut être utilisé pour automatiser tout type de tâche liée à la création, au test, à la livraison ou au déploiement de logiciels. Aujourd’hui, le flux de travail CI/CD est fréquemment mis en œuvre par les entreprises informatiques. Il peut être installé sur n’importe quel ordinateur disposant [Java Runtime Environment] JRE.

Comment créer une tâche Jenkins qui active et désactive plusieurs pages AEM.

Ici, on choisit le job freestyle.

Le job freestyle est une alternative flexible, simple à mettre en place et à utiliser. En outre, cela nous donne plus d’options pour d’autres travaux de construction.

Suivez les étapes mentionnées ci-dessous pour créer une tâche.

1. Connectez-vous au tableau de bord Jenkins.

Accédez à votre URL Jenkins et connectez-vous au tableau de bord pour créer une tâche Jenkins freestyle. Jenkins est hébergé sur mon hôte local http://localhost:8080; vous pouvez visiter votre tableau de bord Jenkins en utilisant l’URL appropriée.

2. Générez un nouvel élément.

Une fois connecté, sélectionnez « Nouvel article » depuis le tableau de bord Jenkins, tapez le nom de votre travail, choisissez le « Projet Freestyle » puis cliquez « D’ACCORD ».

3. Saisissez les détails de la tâche.

Choisissez l’option « Ce projet est paramétré » et entrez la description du projet dans le champ Général onglet au besoin. (Les paramètres vous permettent de demander aux utilisateurs une ou plusieurs entrées qui seront utilisées pour passer dans une construction).

Cliquez ensuite sur « Paramètre d’ajout» et choisissez «Paramètre de chaîne multiligne» dans la liste déroulante de l’option d’ajout de paramètre. Reportez-vous à la capture d’écran ci-dessous.

Image 1

Ici, j’ai donné à l’option le nom « user_input » et inclus une description.

4. Ajoutez un autre paramètre.

Cliquez sur « Ajouter un paramètre » et choisissez « paramètre d’option » pour ajouter un paramètre supplémentaire à notre travail. Entrez ensuite le nom du paramètre et le choix de l’action à effectuer.

Reportez-vous à la capture d’écran ci-dessous.

Photo2

Jusqu’à présent, nous venons de couvrir le champ de saisie de l’utilisateur en fournissant une entrée comme chemin des pages à l’aide du premier paramètre. Nous avons spécifié l’action à entreprendre, activer ou désactiver la page, dans le deuxième paramètre.

5. Ajoutez les informations d’identification.

Après cela, allez dans le « Construire l’environnement «  en dessous, vous trouverez l’option nommée « Utiliser des textes ou fichiers secrets.” cliquez sur cette option et une nouvelle boîte y sera nommée « Obligatoire » et en dessous Ajouter option.

Cliquez sur Ajouter bouton et choisissez l’option « Nom d’utilisateur et mot de passe (séparés) ».

Photo3

Une nouvelle invite apparaîtra en continuant à suivre cela. Ici, vous devez saisir l’identifiant et le mot de passe authentiques de votre instance AEM dans deux variables différentes, l’une pour le nom d’utilisateur et l’autre pour le mot de passe.

Sélectionnez ensuite vos informations d’identification dans le magasin d’informations d’identification.

Photo4

Si vous n’avez pas encore enregistré vos informations d’identification, vous devez cliquer sur le bouton Ajouter et entrer votre nom d’utilisateur et votre mot de passe.

Remarque : Vous pouvez ajouter manuellement des informations d’identification à partir de l’option de gestion de Jenkins, si elles n’apparaissent pas vraiment sur la page du travail. Reportez-vous à la capture d’écran ci-dessous.

Accédez au tableau de bord d’accueil de Jenkins> option du panneau de gauche> Gérer Jenkins> Gérer les informations d’identification> système> Informations d’identification globales> Ajouter des informations d’identification> Entrez un nom d’utilisateur et un mot de passe réels> Cliquez sur créer.

Image5

6. Exécutez le script shell.

Cliquez maintenant sur « Onglet Construire » et cliquez sur l’option « étape d’ajout de construction «  et choisissez l’option « Exécuter le shell » dans la liste déroulante.

Copiez et collez le script ci-dessous dans le Commande boîte.

#!/bin/bash
set +ex
#variable section 

url=http://localhost:4502/bin/replicate.json

function content() #Function for user multiple inputs
{
    if [ ! -z "$1" ] &&  [ -f "$1" ]; then
        echo $(<"$1")
    else
        echo "" >&2
        echo "Please type or paste page path you wish to Activate or Deactivate." >&2
        echo "" >&2
 # Press CTRL+D once done with entering input(If script executing from any Linux OS for Jenkins job no need to press CTRL+D).
        IFS= read array '' ${user_input}
        printf '%s\n' "${user_input[@]}"          # Output as a newline-delimited string.

    fi
}

path=$(content "$2")
#echo "$path"

    #Function for activate page
    function activate()
    {
        for i in $path #Iterating pages one-by-one
        do
        #calling Jenkins variable for credentials ${user}:${pass}
        curl -s -u ${user}:${pass} -X POST -F path=$i -F cmd="activate" $url | grep -q "200"
        echo "$i ==> Page has been Activate."
        sleep 5;
        done
    }
    #Function for deactivate page
    function deactivate()
    {
        for i in $path
        do
        curl -s -u ${user}:${pass} -X POST -F path=$i -F cmd="deactivate" $url | grep -q "200"
        echo "$i ==> Page has been Deactivated."
        sleep 5;
       done
    }

#calling Activate choice parameter from Job    
if [ ${active_deactive} == 'Active' ];
then 
    activate
else
    deactivate
fi

OU L’option de déclencheur de génération dans la section SCM du travail vous permet d’invoquer le script.

Votre travail est maintenant prêt à être construit après avoir cliqué sur l’option d’enregistrement.

7. Créez une tâche.

Après avoir enregistré un travail Jenkins, vous reviendrez au tableau de bord Jenkins, sur le panneau de gauche du tableau de bord, cliquez sur le « Construire avec l’option de paramètre ». Une nouvelle invite apparaîtra dans laquelle vous devrez entrer les chemins de page et sélectionner l’action à effectuer, qu’elle soit activée ou désactivée. Après cela, cliquez sur « construire”. Reportez-vous à la capture d’écran ci-dessous.

Image6

8. Vérifiez la sortie attendue

Après la construction, ouvrez le navigateur et entrez l’URL de la console Web, c’est-à-dire http://localhost:8080/siteadmin#/ et entrez le bon chemin de pages et vérifiez s’il est activé ou non.

Photo7

Si le statut publié de la page est Vertil a été activé avec succès.

Sortie Jenkins pour l’activation de la page :

Photo8

De même, vous devez suivre Étape 7 et choisissez le Désactiver option si vous souhaitez désactiver la page.

Image9

Si le statut publié de la page est Rougeil a été désactivé avec succès.

Sortie Jenkins pour la désactivation de la page :

Photo10

Conclusion

Alors voilà! Vous avez maintenant une compréhension de base du fonctionnement de la commande curl. En utilisant AEM, il peut être utile d’automatiser plusieurs tâches quotidiennes. Des choses comme la gestion des packages, des bundles, des nœuds, des pages, des utilisateurs et des groupes, etc. réduire les charges de travail grâce à l’automatisation. Merci d’avoir lu, et j’espère que vous trouverez ce blog utile.






Source link