Nous avons déjà essayé les approches énumérées ci-dessous:
- https://github.com/oliverlockwood/jenkinsfile-idea-plugin
- https://st-g.de/2016/08/jenkins-pipeline-autocompletion-in-intellij
Après avoir effectué des recherches sur le Web pendant plusieurs heures sur plusieurs jours, nous n'avons toujours pas trouvé de ressource utile à ce sujet. Il semble donc logique de poser une nouvelle question ici.
Nous développons nos projets Java dans IntelliJ idea et souhaitons intégrer nos builds avec Jenkins. Lorsque nous créons un fichier Jenkins dans Idea, nous n'obtenons pas de coloration syntaxique ni de complétion automatique. Puisque nous sommes nouveaux sur Jenkins, ces fonctionnalités nous seraient vraiment utiles. Comment pouvons-nous rendre Idea plus favorable avec Jenkinsfiles?
S'il n'y a aucun moyen d'obtenir la coloration syntaxique et la complétion automatique d'un fichier Jenkins en idée, quels autres éditeurs seraient utiles?
Notez s'il vous plaît:
- nous travaillons avec des projets java, pas des projets groovy.
Nous avons déjà essayé le plugin https://github.com/oliverlockwood/jenkinsfile-idea-plugin . Lorsque le plugin est activé, le Jenkinsfile est reconnu comme tel, mais au lieu de mettre en évidence la syntaxe, nous obtenons un message d'erreur, veuillez voir ci-dessous.
pipeline { agent { docker 'maven:3.3.3' } stages { stage('build') { steps { sh 'echo Hello, World!' } } } }
L'idée met en évidence le «p» de «pipeline» comme une erreur. Le message d'erreur se lit comme suit:
JenkinsTokenType.COMMENT, JenkinsTokenType.CRLF ou JenkinsTokenType.STEP_KEY attendu, a obtenu 'p'
Merci pour toute aide!
Réponses:
Si vous voulez qu'IDEA reconnaisse un fichier Jenkins en tant que fichier Groovy, vous pouvez ajouter la chaîne «Jenkinsfile» en tant que modèle de nom de fichier valide (contient normalement des fins de fichier) pour les fichiers Groovy. Ceci est pris en charge «prêt à l'emploi» sans nécessiter de plugin supplémentaire (sauf le plugin «Groovy», mais qui fait déjà partie d'IDEA).
Pour ce faire, allez dans le menu des paramètres, ouvrez l'élément "Editeur" puis "Types de fichiers". Sélectionnez maintenant "Groovy" dans la liste supérieure et ajoutez "Jenkinsfile". Vous pouvez également utiliser une expression régulière comme "Jenkinsfile *" si vous voulez être plus flexible concernant un fichier optionnel se terminant pour le Jenkinsfile.
Le paramètre devrait maintenant ressembler à ceci:
Votre exemple ressemble maintenant à ceci dans IDEA (avec le thème Dracula):
Donc, IDEA fournit maintenant la coloration syntaxique et la complétion automatique pour autant que je sache. Il suggère des noms de fonction / méthode existants lors de l'écriture, mais je ne suis pas un développeur Groovy, donc je ne peux pas dire si certaines suggestions manquent.
la source
*.declarative
été attribué au type de fichier texte.Une autre option consiste à utiliser un shabang au-dessus du fichier Jenkins comme ceci
#!/usr/bin/env groovy
. Vous pouvez également essayer gdsl: https://st-g.de/2016/08/jenkins-pipeline-autocompletion-in-intellij mais jusqu'à présent, il ne prend pas en charge les pipelines déclaratifs: https: //issues.jenkins-ci .org / parcourir / JENKINS-40127la source
Vous trouverez ci-dessous les commentaires d' IntelliJ . Nous en assurerons le suivi si nous sommes en mesure de fournir une solution fonctionnelle.
Andrey Dernov, IntelliJ, 14 déc, 07:50 CET
Bonjour Georg, il n'y a pas de support spécial de l'éditeur intellisense pour l'édition des fichiers Jenkins dans l'IDE. Vous devrez écrire un plugin de langage personnalisé pour cela.
Ou vous pouvez envisager de mettre en œuvre un tel support via l'écriture de Kotlin DSL. Quelques exemples pour commencer.
la source
En regardant le code source, il semble que les COMMENTAIRES ne soient pas définis (ils sont commentés dans le code)
STEP_KEY est défini comme suit: STEP_NAME = "sh" | "parallèle"
Je ne suis pas sûr que le plugin fasse beaucoup plus et il n'a pas été mis à jour depuis 2 ans.
la source
Si vous ajoutez
dans votre fichier jenkins, vous devriez obtenir une coloration syntaxique groovy dans l'IDE.
la source
Utilisez
sh
comme ça et l'erreur devrait disparaître (a fonctionné pour moi) ...la source