12
votes

Comment puis-je joindre un journal de construction à une notification par courrier électronique avec le plugin Jenkins Email-Ext?

Version 2.15 de Jenkins Plug-in Email-Ext Support ajouté pour la jointe de fichiers à créer des courriels de notification. J'aimerais avoir le journal de construction attaché pour créer des e-mails de notification, mais je ne peux pas comprendre comment le faire.

Le journal de construction semble être stocké sur le nœud principal JENKINS (dans ce cas, Ubuntu Linux). Par exemple, / var / lib / jenkins / jobs / / construction / / journal . Naturellement, le chemin du journal de construction change avec chaque construction. La fonction de pièce jointe de fichier e-mail-EXT par défaut à l'aide des fichiers de l'espace de travail du projet, qui se trouve sur la machine de construction esclave Jenkins (dans ce cas, Mac OS X). Par exemple, j'ai configuré mon esclave pour utiliser le dossier / userner / / jenkins / build_agent / espace de travail / / .

Y a-t-il un moyen d'obtenir un message électronique pour joindre un fichier à partir du système de fichiers maître, au lieu de l'espace de travail sur la machine de construction esclave?

Merci d'avance à quiconque peut offrir des conseils. Le page-wiki EXTRE ne contient actuellement pas d'exemple de Comment configurer les pièces jointes.


0 commentaires

6 Réponses :


16
votes

Vous pouvez simplement utiliser $ {build_log, maxlines, Escalyhtml} jeton dans le corps de l'e-mail pour inclure le journal de construction.

citant le doc de plug-in Eail-EXT (disponible ici ):

"Pour voir une liste de tous les jetons de courrier électronique disponibles et ce qu'ils affichent, vous pouvez cliquer sur le"? "(point d'interrogation) associé à la référence du jeton de contenu en haut en bas de la section Email-EXT de l'écran de configuration du projet de l'écran de configuration du projet. "


1 commentaires

Merci vladisld. C'est une bonne réponse. Cependant, j'utilise déjà $ {build_log, maxlines = 9999, escapehtml = false} dans le contenu de la messagerie électronique. Mon fichier journal est presque mille lignes de long, de sorte que je voudrais le sortir du corps du message et l'avoir comme pièce jointe.



4
votes

Après avoir dormi sur le problème et faire plus de recherches, je suis arrivé à la conclusion que Email-EXT ne prend pas en charge la pièce jointe d'un journal de construction à un courrier électronique de notification de construction.

Cependant, je suis arrivé avec un Sneaky Work-autour d'être utilisé jusqu'à ce qu'une telle caractéristique soit disponible: j'utilise les jetons de Jenkins Build pour générer la commande appropriée pour copier le fichier journal du serveur maître à l'espace de travail de construction de l'esclave (voir la note ci-dessous).

Dans le projet, après l'étape de compilation principale, j'ai ajouté une nouvelle étape Execute Shell pour générer la commande SCP (Copie) appropriée. Ceci est la commande (remplacez l'utilisateur et le nom d'hôte avec vos propres valeurs et vous devez probablement adapter le chemin d'accès à votre serveur individuel): xxx

puis, dans le Email-Ext pièces jointes du plugin e-mail-EXT, j'ai entré: xxx

Le journal de construction est copié du maître à l'espace de travail de l'esclave. et attaché pour créer des messages électroniques de notification. J'ai supprimé le build_log jeton du modèle de corps de message.

Remarque: Pour utiliser cette technique particulière, vous devez disposer de SSH sans mot de passe configuré entre l'esclave et le maître, peut-être utiliser une phrase secrète de clé openssh. Si vous avez besoin d'aide pour cela, recherchez sur le Web pour obtenir des informations sur la commande ssh-keygen , et peut-être vérifier les didacticiels comme celui-ci . Une approche similaire devrait fonctionner sur des plates-formes qui n'ont pas de soutien intégré pour SSH. Robocopy ou similaire doit fonctionner sur des systèmes Windows.

EDIT: Le plug-in Email-EXT a la possibilité de joindre un journal de construction à un message de notification avec un message de notification avec une case à cocher sur l'écran de configuration du travail. Voir diapositive la réponse d'un exemple.


0 commentaires

13
votes

Le plugin prend en charge la fixation du journal de construction, il vous suffit de cocher la case dans la configuration du projet.

Configuration du projet pour e-mail-EXT


1 commentaires
1
votes

LERFI de tous Vous devez installer Envoyer le plugin Ext . après avoir installé suivre cette étape.

  • Maintenant, pour la ' Ajouter action post-construction sélectionnez Modifiable Notification par courriel et dans cette section, vous avez l'option Joindre l'option build Log .select comme ci-dessous dans l'image. entrer la description d'image ici

    après et appliquer save.Now vous certainement obtenir Construire Connexion pièce jointe. Merci.


0 commentaires

1
votes

Lorsque vous utilisez jenkinsfile, ajoutez jointLog: true à la configuration e-mailext , comme: xxx

crédit à @Spencer Malone dans < Un href = "https://stackoverflow.com/questions/44023285/jenkins-pipeline-notify-with-console-Error-log-fthrough-Error-log-Erghe-email"> Jenkins Pipeline - Notifier avec la console Erreur de journal via Email < / p>


0 commentaires