Já tentamos as abordagens listadas abaixo:
https://github.com/oliverlockwood/jenkinsfile-idea-plugin
Depois de termos pesquisado na web por muitas horas em vários dias, ainda não encontramos um recurso útil sobre este assunto. Portanto, parece fazer sentido fazer uma nova pergunta aqui.
Estamos desenvolvendo nossos projetos Java no IntelliJ idea e queremos integrar nossos builds com Jenkins. Quando criamos um Jenkinsfile no Idea, não obtemos destaque de sintaxe ou preenchimento automático. Como somos novos no Jenkins, esses recursos seriam muito úteis para nós. Como podemos fazer com que a Idea seja mais favorável com Jenkinsfiles?
Se não houver nenhuma maneira de obter destaque de sintaxe e preenchimento automático para um Jenkinsfile na ideia, quais outros editores seriam úteis?
estamos trabalhando com projetos java, não com projetos bacanas.
Já testamos o plugin https://github.com/oliverlockwood/jenkinsfile-idea-plugin . Quando o plugin é ativado, o Jenkinsfile é reconhecido como tal, mas em vez do destaque de sintaxe, obtemos uma mensagem de erro, por favor veja abaixo.
sh 'echo Hello, World!'
A ideia destaca o 'p' de 'pipeline' como um erro. A mensagem de erro é:
JenkinsTokenType.COMMENT, JenkinsTokenType.CRLF ou JenkinsTokenType.STEP_KEY esperado, obteve 'p'
java jenkins intellij-idea autocomplete syntax-highlighting
— Rexford
Há um plug-in personalizado: plugins.jetbrains.com/plugin/10127-jenkinsfile-idea-plugin e solicitação de recurso: youtrack.jetbrains.com/issue/IDEA-158104
— y.bedrov
@ y.bedrov obrigado pelo seu comentário. Já havíamos tentado o plugin indicado, mas apenas obtivemos uma mensagem de erro, mas sem realce de sintaxe ou preenchimento automático. Qual é a sua experiência com o plugin, ele funciona para você?
Não tenho ideia de por que você precisaria de um plugin para essas coisas básicas. Basta adicionar "Jenkinsfile" como um tipo de arquivo para Groovy (Configurações> Editor> Tipos de arquivo> Groovy e adicionar "Jenkinsfile" como um "Padrão registrado"). O que está faltando após essa configuração?
@Tom obrigado! Na verdade, seu comentário é sobre o que estávamos procurando. Forneça essas informações como uma resposta e eu irei aceitá-las como a resposta correta / mais útil.
@Tom O que está faltando é o autocompletar e a validação do Jenkins DSL real
Se você deseja que o IDEA reconheça um Jenkinsfile como um arquivo Groovy, pode adicionar a String "Jenkinsfile" como um padrão de nome de arquivo válido (normalmente contém terminações de arquivo) para arquivos Groovy. Isso é suportado "fora da caixa" sem a necessidade de nenhum plug-in adicional (exceto o plug-in "Groovy", mas que já faz parte do IDEA).
Para isso vá ao menu de configurações, abra o item "Editor" e depois "Tipos de arquivo". Agora selecione "Groovy" na lista superior e adicione "Jenkinsfile". Você também pode usar um regex como "Jenkinsfile *" se quiser ser mais flexível em relação a uma terminação de arquivo opcional para o Jenkinsfile.
A configuração agora deve ser semelhante a esta:
Seu exemplo agora se parece com este no IDEA (com o tema Drácula):
Portanto, o IDEA agora fornece destaque de sintaxe e preenchimento automático, tanto quanto eu posso dizer. Ele sugere nomes de função / método existentes enquanto escrevo, mas não sou um desenvolvedor Groovy, portanto, não posso dizer se algumas sugestões estão faltando.
Os recursos que as pessoas gostariam de incluir validação / autocompletion / quickdocs para o GDSL e integração do linter . Um plugin ideal faria tudo "simplesmente funcionar" com configuração mínima (por exemplo, apenas apontar para uma instância do Jenkins).
Apenas uma observação: o tipo de arquivo bacana está disponível apenas no InteliJ e no Android Studio, não no PyCharm 2018.3.2. Acho que porque este plugin é necessário plugins.jetbrains.com/plugin/1524-jetgroovy
Considere também fazer o download do arquivo gdsl de sua instância Jenkins em https: // <Jenkins> / job / <Job Name> / pipeline-syntax / gdsl e colocá-los no classpath Groovy de seu projeto.
— Stephan de
Esta é uma boa ideia, mas requer a configuração de um SDK do Groovy
— owensmartin de
Brilhante! TY muito! Consegui reatribuir nossos arquivos Jenkinsfile.declarative da mesma maneira para que obtivéssemos o realce de sintaxe e o preenchimento de código. Para nós *.declarativefoi atribuído ao tipo de arquivo Texto.
— icfantv
Outra opção é usar um shabang em cima do Jenkinsfile como este #!/usr/bin/env groovy. Você também pode experimentar gdsl: https://st-g.de/2016/08/jenkins-pipeline-autocompletion-in-intellij, mas até agora ele não oferece suporte a pipelines declarativos: https: //issues.jenkins-ci .org / browse / JENKINS-40127
— futchas
Abaixo está o feedback que recebemos do IntelliJ . Faremos o acompanhamento se formos capazes de fornecer uma solução de trabalho.
Andrey Dernov, IntelliJ, 14 de dezembro, 07:50 CET
Olá Georg, não há suporte para o Intellisense Editor especial para editar arquivos Jenkins no IDE. Você precisará escrever um plugin de idioma personalizado para isso.
Ou você pode considerar a implementação de tal suporte escrevendo Kotlin DSL. Alguns exemplos para começar.
Olhando para o código-fonte, parece que os COMENTÁRIOS não estão definidos (eles estão comentados no código)