Jenkinsfile de la syntaxe de Java projet à l'aide de Intellij Idea
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 cherché sur le web pour de nombreuses heures sur plusieurs jours, nous n'avons pas encore trouvé une ressource utile sur cette question. Ainsi, il semble logique de demander une nouvelle question ici.
Nous développons nos projets Java dans IntelliJ idea et souhaitez intégrer notre construit avec Jenkins. Lorsque nous créons un Jenkinsfile dans l'Idée, nous ne sommes pas de la syntaxe ou de l'auto-complétion. Depuis, nous sommes à nouveau Jenkins, ces caractéristiques serait vraiment utile pour nous. Comment pouvons nous faire à l'Idée d'être plus solidaire avec Jenkinsfiles?
Si il n'y a aucun moyen d'obtenir la coloration syntaxique et l'auto-remplissage pour un Jenkinsfile dans l'idée, ce que d'autres éditeurs seraient-elles utiles?
Veuillez noter:
- nous travaillons avec des projets java, pas groovy projets.
-
Nous avons déjà essayé le plugin https://github.com/oliverlockwood/jenkinsfile-idea-plugin. Lorsque le plugin est activé, le Jenkinsfile est reconnue en tant que telle, mais au lieu de la coloration syntaxique, 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!' } } } }
Idée souligne le " p " de "pipeline" comme une erreur. Le message d'erreur:
JenkinsTokenType.COMMENTAIRE, JenkinsTokenType.CRLF ou JenkinsTokenType.STEP_KEY prévu, got 'p'
Merci pour toute aide!
- Il y a un plugin personnalisé: plugins.jetbrains.com/plugin/10127-jenkinsfile-idea-plugin et la fonction de demande: youtrack.jetbrains.com/issue/IDEA-158104
- merci pour votre commentaire. Nous avions déjà essayé de la a indiqué le plugin, mais seulement eu un message d'erreur, mais pas de la syntaxe ou de l'auto-complétion. Quelle est votre expérience avec le plugin, ça marche pour vous?
- Je n'ai aucune idée de pourquoi vous auriez besoin d'un plugin pour ce truc de base. Ajoutez juste "Jenkinsfile" comme un type de fichier pour Groovy (Paramètres > Editor > les Types de Fichier > Groovy et d'ajouter "Jenkinsfile" comme un "régime Enregistré d'Pattern"). Ce qu'il manque, après que le programme d'installation?
- merci! En fait, votre commentaire est à propos de ce que nous recherchions. Veuillez fournir cette information comme une réponse, et je vais l'accepter en tant que correcte et la plus utile de répondre.
- Ce qui manque, c'est l'auto-complétion et la validation de la réelle Jenkins DSL
- C'est intéressant et je suppose que vous serait alors vraiment besoin d'un plugin pour obtenir ces fonctionnalités. Pouvez-vous s'il vous plaît ajouter ce commentaire sous ma réponse ainsi? Il serait plus visible pour les gens qui lisent ma réponse. Merci pour cette information.
Vous devez vous connecter pour publier un commentaire.
Si vous voulez IDÉE de reconnaître un Jenkinsfile comme Groovy fichier, puis vous pouvez ajouter la Chaîne "Jenkinsfile" comme un nom de fichier valide le modèle (normalement contient les fichiers de type) pour Groovy fichiers. C'est pris en charge "hors de la boîte", sans nécessiter aucun Plugin supplémentaire (à l'exception de la "Groovy" Plugin, mais qui fait déjà partie de l'IDÉE).
Pour le faire allez dans le menu paramètres, ouvrez l'Éditeur de" et ensuite "Types de Fichiers". Maintenant, sélectionnez "Groovy" en haut de la liste et d'ajouter "Jenkinsfile". Vous pouvez également utiliser une regex comme "Jenkinsfile*" si vous voulez être plus flexible en ce qui concerne une option de fichier se terminant par la Jenkinsfile.
Le réglage doit maintenant ressembler à ceci:
Votre exemple, ressemble maintenant à ceci dans l'IDÉE (avec le thème de Dracula):
D'où l'IDÉE maintenant fournit la coloration syntaxique et l'auto-complétion pour autant que je peux dire. Il suggère une fonction existante, de méthode, de noms lors de l'écriture, mais je ne suis pas un Groovy développeur, donc je ne peux pas dire si certaines suggestions sont manquants.
Une autre option est d'utiliser un shabang sur le dessus de la Jenkinsfile comme ce
#!/usr/bin/env groovy
. Aussi, vous pouvez essayer le gdsl: https://st-g.de/2016/08/jenkins-pipeline-autocompletion-in-intellijmais jusqu'à présent, il ne prend pas en charge déclarative des pipelines: https://issues.jenkins-ci.org/browse/JENKINS-40127
Ci-dessous les commentaires que nous avons reçu de IntelliJ. Nous allons faire le suivi sur ce si nous sommes en mesure de fournir une solution de travail.
Andrey Dernov, IntelliJ, Dec 14, 07:50 CET
Bonjour Georg, il n'y a aucun Éditeur intellisense support pour l'édition de Jenkinsfiles dans l'IDE. Vous aurez besoin d'écrire une langue personnalisée plugin pour cela.
Ou vous pouvez envisager la mise en œuvre de ce soutien par écrit Kotlin DSL. Quelques exemples pour commencer.
Regardant le code source, on dirait les COMMENTAIRES ne sont pas définis (ils sont mis en commentaire dans le code)
La STEP_KEY est défini comme: SET_NAME="sh" | "parallèle"
Je ne suis pas sûr que le plugin n'beaucoup plus et il n'a pas été mis à jour dans 2 ans.
Utilisation
sh
de ce genre et le message d'erreur devrait disparaître (a fonctionné pour moi)...