J'ai un projet avec deux dossiers, qui sont indépendants et qui ont besoin de versions distinctes dans Jenkins (en cours d'exécution v2.74)
Ma structure est
folder
├── project1
│ └── Jenkinsfile
└── project2
└── Jenkinsfile
Lorsque je clique sur "analyser l'organisation" dans Jenkins, il ne découvre pas les fichiers Jenkins dans les sous-répertoires.
Voici un exemple tiré du "journal d'organisation de l'analyse":
Proposing kg-pipeline
Examining my-test-project
Checking branches...
Getting remote branches...
Checking branch jenkins
‘Jenkinsfile’ not found
Does not meet criteria
Checking branch master
‘Jenkinsfile’ not found
Does not meet criteria
2 branches were processed
Finished examining my-test-project
Je n'ai pas touché à la configuration du travail qui analyse l'organisation et trouve des branches avec Jenkinsfiles. Voici le paramétrage actuel du projet
Ma question est la suivante: comment configurer Jenkins pour qu'il affiche chaque dossier individuellement? Je suis également intéressé par des liens vers des exemples de projets mis en place de cette manière.
Il y a une solution simple.
Build Configuration
, sélectionnez by Jenkinsfile
pour Mode
Script Path
, définissez-le sur DIR_NAME/Jenkinsfile
Par exemple, si votre fichier Jenkins se trouvait dans un répertoire src
, définissez-le sur src/Jenkinsfile
et Jenkins sera en mesure de trouver le fichier Jenkins maintenant.
J'essaie actuellement de configurer la même chose - cela pourrait aider, même si ce n'est pas une réponse complète:
Selon this , vous devriez pouvoir configurer deux projets de pipeline multibranches, chacun avec le mode de configuration "by Jenkinsfile".
La prise en charge de l’utilisation de chemins personnalisés pour le fichier Jenins a été ajoutée dans JENKINS-34561
Vous pouvez ajouter plusieurs "Pipeline Jenkinsfile" sous Project Recognizers avec vos chemins d'accès aux fichiers Jenkins.
Malheureusement, je ne connais pas d’approche permettant d’analyser Jenkinsfile
s dans les sous-répertoires de la racine de votre projet.
Vous pourrez peut-être obtenir votre comportement souhaité en chargeant les Jenkinsfile
s à partir de vos sous-répertoires dans un Jenkinsfile
dans la racine du projet avec l’étape load . Cela montrera cependant les constructions des deux projets comme un pipeline .. et vous voudrez peut-être construire ces projets sur noeuds parallèles .