Já tentamos as abordagens listadas abaixo:
- https://github.com/oliverlockwood/jenkinsfile-idea-plugin
- https://st-g.de/2016/08/jenkins-pipeline-autocompletion-in-intellij
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?
Observe:
- 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.
pipeline { agent { docker 'maven:3.3.3' } stages { stage('build') { steps { 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'
Obrigado por qualquer ajuda!
Respostas:
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.
fonte
*.declarative
foi atribuído ao tipo de arquivo Texto.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-40127fonte
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.
fonte
Olhando para o código-fonte, parece que os COMENTÁRIOS não estão definidos (eles estão comentados no código)
O STEP_KEY é definido como: STEP_NAME = "sh" | "paralelo"
Não tenho certeza se o plug-in faz muito mais e não é atualizado há 2 anos.
fonte
Se você adicionar
cabeçalho para seu arquivo jenkins, então você deve obter destaque de sintaxe groovy no IDE.
fonte
Use
sh
assim e o erro deve ir embora (funcionou para mim) ...fonte