1

J'ai une application Java qui crée et exécute des tests JMeter. Ces tests doivent être exécutés sur une instance EC2 distante. Est-il possible d'avoir une commande dans Jenkins (qui se trouve sur une machine AWS séparée) pour cloner un projet git sur une instance EC2 distante? Et courir le flux là-bas?Création d'un travail Jenkins pour exécuter des tests JMeter sur une instance EC2 distante

J'apprécierai toutes les pensées et les idées!

+0

Votre instance EC2 distante se trouve sur une machine fixe ou dynamique. – chenrui

+0

Il est sur la machine fixe pour l'instant – SeraphimaTW

+0

Donc vous pouvez essayer d'utiliser le plugin SSH pour faire cette chose. Envoie l'artefact via SSH et exécute l'artefact sur la machine distante. – chenrui

Répondre

0

Alors, voici ma solution:

  • Jenkins dans la section build, ajoutez 'Exécuter shell' étape et faire scp là pour pom.xml et le dossier src de l'espace de travail Jenkins instance EC2 dossier tmp dans mon cas, il ressemble à ceci:

scp -i ../../../jobs/utilities/keys/.pem pom.xml [email protected] amazonaws.com:/tmp

scp -i ../../../jobs/utilities/keys/.pem -r src ec2-utilisateur @ ec2- 00-000-00.compute.amazonaws.com:/tmp

  • puis ajoutez 'Envoyer des fichiers ou exécuter la commande via SSH' étape et dans la section de commande Exec mis à côté:

sudo rm - RF ../../my_project_folder_name/

mkdir ../../my_project_folder_name sudo

cd ../../tmp

pom.xml cp ../my_project_folder_name/ sudo

sudo cp -r src ../my_project_folder_name

cd ../my_project_folder_name

mvn sudo essai propre

  • puis ajoutez une plus 'Execute shell' étape pour copier tous les fichiers de tag = dossier rget pour pouvoir les utiliser pour différents rapports:

scp -i ../../../jobs/utilities/keys/.pem -r ec2-user @ ec2 -00-000-00.compute.amazonaws.com:/my_project_folder_name/target.

C'est tout :)