Ya probamos los enfoques que se enumeran a continuación:
- https://github.com/oliverlockwood/jenkinsfile-idea-plugin
- https://st-g.de/2016/08/jenkins-pipeline-autocompletion-in-intellij
Después de haber buscado en la web durante muchas horas durante varios días, todavía no hemos encontrado un recurso útil sobre este asunto. Por lo tanto, parece tener sentido hacer una nueva pregunta aquí.
Estamos desarrollando nuestros proyectos Java en la idea de IntelliJ y queremos integrar nuestras compilaciones con Jenkins. Cuando creamos un archivo Jenkins en Idea, no obtenemos resaltado de sintaxis ni finalización automática. Dado que somos nuevos en Jenkins, esas características nos serían realmente útiles. ¿Cómo podemos hacer que Idea sea más solidario con Jenkinsfiles?
Si no hay forma de obtener el resaltado de sintaxis y la finalización automática para un archivo Jenkins en idea, ¿qué otros editores serían útiles?
Tenga en cuenta:
- estamos trabajando con proyectos java, no proyectos maravillosos.
Ya probamos el complemento https://github.com/oliverlockwood/jenkinsfile-idea-plugin . Cuando se activa el complemento, el archivo Jenkins se reconoce como tal, pero en lugar de resaltar la sintaxis recibimos un mensaje de error, consulte a continuación.
pipeline { agent { docker 'maven:3.3.3' } stages { stage('build') { steps { sh 'echo Hello, World!' } } } }
Idea destaca la 'p' de 'pipeline' como error. El mensaje de error dice:
JenkinsTokenType.COMMENT, JenkinsTokenType.CRLF o JenkinsTokenType.STEP_KEY esperado, obtuvo 'p'
¡Gracias por cualquier ayuda!
Respuestas:
Si desea que IDEA reconozca un archivo Jenkins como un archivo Groovy, puede agregar la cadena "Jenkinsfile" como un patrón de nombre de archivo válido (normalmente contiene terminaciones de archivo) para los archivos Groovy. Esto se admite "listo para usar" sin requerir ningún complemento adicional (excepto el complemento "Groovy", pero que ya es parte de IDEA).
Para hacerlo, vaya al menú de configuración, abra el elemento "Editor" y luego "Tipos de archivo". Ahora seleccione "Groovy" en la lista superior y agregue "Jenkinsfile". También puede usar una expresión regular como "Jenkinsfile *" si desea ser más flexible con respecto a un final de archivo opcional para Jenkinsfile.
La configuración ahora debería verse así:
Su ejemplo ahora se ve así en IDEA (con el tema de Drácula):
Así que IDEA ahora proporciona resaltado de sintaxis y autocompletado hasta donde yo sé. Sugiere nombres de funciones / métodos existentes mientras escribo, pero no soy un desarrollador Groovy, por lo que no puedo decir si faltan algunas sugerencias.
fuente
*.declarative
se asignó al tipo de archivo de texto.Otra opción es usar un shabang encima del archivo Jenkins como este
#!/usr/bin/env groovy
. También puede probar gdsl: https://st-g.de/2016/08/jenkins-pipeline-autocompletion-in-intellij pero hasta ahora no es compatible con canalizaciones declarativas: https: //issues.jenkins-ci .org / navegar / JENKINS-40127fuente
A continuación se muestran los comentarios que hemos recibido de IntelliJ . Haremos un seguimiento de esto si podemos proporcionar una solución funcional.
Andrey Dernov, IntelliJ, 14 de diciembre, 07:50 CET
Hola, Georg, no hay un editor intellisense especial para editar archivos Jenkins en IDE. Deberá escribir un complemento de idioma personalizado para esto.
O puede considerar implementar dicho soporte escribiendo Kotlin DSL. Algunos ejemplos para empezar.
fuente
Mirando el código fuente, parece que los COMENTARIOS no están definidos (están comentados en el código)
STEP_KEY se define como: STEP_NAME = "sh" | "paralela"
No estoy seguro de que el complemento haga mucho más y no se ha actualizado en 2 años.
fuente
Si agrega
encabezado a su archivo jenkins, entonces debería obtener un resaltado de sintaxis maravilloso en IDE.
fuente
Úselo
sh
así y el error debería desaparecer (funcionó para mí) ...fuente