Nous avons déjà essayé les approches énumérées ci-dessous:
Après avoir recherché sur le web pendant plusieurs heures, pendant plusieurs jours, nous n'avons pas encore trouvé de ressource utile à ce sujet. Il semble donc logique de poser une nouvelle question ici.
Nous développons nos Java projets IntelliJ et souhaitons intégrer nos versions à Jenkins. Lorsque nous créons un fichier Jenkins dans Idea, nous n'obtenons pas de surbrillance de la syntaxe ni de complétion automatique. Comme nous sommes nouveaux dans Jenkins, ces fonctionnalités nous seraient très utiles. Comment pouvons-nous rendre Idea plus favorable avec Jenkinsfiles?
S'il n'y a aucun moyen d'obtenir la coloration syntaxique et l'auto-complétion pour un fichier Jenkins dans l'idée, quels autres éditeurs pourraient être utiles?
Notez s'il vous plaît:
Nous avons déjà essayé le plugin https://github.com/oliverlockwood/jenkinsfile-idea-plugin . Lorsque le plug-in est activé, le fichier Jenkins est reconnu en tant que 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" du "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!
Si vous voulez que 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 (contenant normalement des fins de fichier) pour les fichiers Groovy. Ceci est pris en charge "out of the box" sans nécessiter de plug-in supplémentaire (à l'exception du plug-in "Groovy", mais cela fait déjà partie d'IDEA).
Pour ce faire, allez dans le menu des paramètres, ouvrez l’item "Editeur" puis "Types de fichiers". Maintenant, sélectionnez "Groovy" dans la liste supérieure et ajoutez "Jenkinsfile". Vous pouvez également utiliser une expression rationnelle telle que "Jenkinsfile *" si vous souhaitez être plus flexible en ce qui concerne un fichier facultatif se terminant par le fichier 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 l'auto-complétion, 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 s'il manque des suggestions.
Une autre option consiste à utiliser un shabang au-dessus du fichier Jenkins comme ceci #!/usr/bin/env groovy
. Aussi, vous pouvez essayer gdsl: https://st-g.de/2016/08/jenkins-pipeline-autocompletion-in-intellij mais jusqu'ici, il ne supporte pas les pipelines déclaratifs: - https://issues.jenkins-ci.org/browse/JENKINS-40127
En regardant le code source, il apparaît que COMMENTS n'est pas défini (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 en fasse beaucoup plus et il n'a pas été mis à jour depuis 2 ans.
Ci-dessous sont les commentaires que nous avons de IntelliJ. Nous ferons un suivi si nous sommes en mesure de fournir une solution efficace.
Andrey Dernov, IntelliJ, 14 décembre, 07h50 CET
Bonjour Georg, il n’existe pas de support spécial de la part d’éditeur intellisense pour l’édition de Jenkinsfiles dans IDE. Pour cela, vous devrez écrire un plugin de langue personnalisé.
Ou vous pouvez envisager de mettre en œuvre un tel support en écrivant Kotlin DSL. Quelques exemples pour commencer.