Program Tip

Intellij Idea를 사용하여 Java 프로젝트에서 Jenkinsfile 구문 강조

programtip 2020. 10. 23. 08:19
반응형

Intellij Idea를 사용하여 Java 프로젝트에서 Jenkinsfile 구문 강조


우리는 이미 아래 나열된 접근 방식을 시도했습니다.

여러 날 동안 여러 시간 동안 웹을 검색했지만 여전히이 문제에 대한 유용한 리소스를 찾지 못했습니다. 따라서 여기에서 새로운 질문을하는 것이 합리적으로 보입니다.

IntelliJ 아이디어로 Java 프로젝트를 개발 중이며 빌드를 Jenkins와 통합하려고합니다. Idea에서 Jenkinsfile을 만들 때 구문 강조 표시 또는 자동 완성 기능이 제공되지 않습니다. Jenkins를 처음 사용했기 때문에 이러한 기능은 우리에게 정말 유용 할 것입니다. Jenkinsfiles를 사용하여 Idea를 어떻게 더 지원할 수 있습니까?

Jenkinsfile의 구문 강조 및 자동 완성을 얻을 수있는 방법이 없다면 다른 편집기가 도움이 될까요?

참고 :

  • 우리는 그루비 프로젝트가 아닌 자바 프로젝트로 작업하고 있습니다.
  • 우리는 이미 플러그인 https://github.com/oliverlockwood/jenkinsfile-idea-plugin을 사용해 보았습니다 . 플러그인이 활성화되면 Jenkinsfile이 그렇게 인식되지만 구문 강조 표시 대신 오류 메시지가 표시됩니다. 아래를 참조하십시오.

    pipeline {
    agent { docker 'maven:3.3.3' }
    stages {
        stage('build') {
            steps {
                sh 'echo Hello, World!'
            }
        }
      }
    }
    

    아이디어는 '파이프 라인'의 'p'를 오류로 강조합니다. 오류 메시지는 다음과 같습니다.

    JenkinsTokenType.COMMENT, JenkinsTokenType.CRLF 또는 JenkinsTokenType.STEP_KEY 예상, 'p'가 있습니다.

도움을 주셔서 감사합니다!


IDEA가 Jenkinsfile을 Groovy 파일로 인식하도록하려면 문자열 "Jenkinsfile"을 Groovy 파일에 대한 유효한 파일 이름 패턴 (일반적으로 파일 엔딩 포함)으로 추가 할 수 있습니다. 이것은 추가 플러그인없이 "즉시"지원됩니다 ( "Groovy"플러그인 제외, 이미 IDEA의 일부 임).

설정 메뉴로 이동하여 "Editor"항목을 연 다음 "File Types"를 엽니 다. 이제 상단 목록에서 "Groovy"를 선택하고 "Jenkinsfile"을 추가합니다. Jenkinsfile에 대한 선택적 파일 종료에 대해 더 유연하게하려면 "Jenkinsfile *"과 같은 정규식을 사용할 수도 있습니다.
이제 설정은 다음과 같습니다.IDEA 파일 유형 설정

이제 예제는 IDEA에서 다음과 같이 표시됩니다 (Dracula 테마 사용). Jenkinsfile 구문 강조

So IDEA now provides syntax highlighting and auto completion as far as I can tell. It suggests existing function/method names while writing, but I'm not a Groovy developer, thus I can't tell if some suggestions are missing.


Another option is to use a shabang on top of the Jenkinsfile like this #!/usr/bin/env groovy. Also you can try out gdsl: https://st-g.de/2016/08/jenkins-pipeline-autocompletion-in-intellij but so far it doesn't support declarative pipelines: https://issues.jenkins-ci.org/browse/JENKINS-40127


Below is the feedback we've got from IntelliJ. We will follow up on this if we are able to provide a working solution.

Andrey Dernov, IntelliJ, Dec 14, 07:50 CET

안녕하세요 Georg, IDE에서 Jenkinsfile을 편집하기위한 특별한 Editor intellisense 지원은 없습니다. 이를 위해 사용자 정의 언어 플러그인을 작성해야합니다.

또는 Kotlin DSL 작성을 통해 이러한 지원을 구현하는 것을 고려할 수 있습니다. 시작할 몇 가지 예.


소스 코드를 보면 COMMENTS가 정의되지 않은 것 같습니다 (코드에서 주석 처리됨).

STEP_KEY는 다음과 같이 정의됩니다. STEP_NAME = "sh"| "평행"

플러그인이 훨씬 더 많은 기능을 수행하는지 확신 할 수 없으며 2 년 동안 업데이트되지 않았습니다.


이렇게 사용 sh하면 오류가 사라질 것입니다 (저를 위해 일했습니다) ...

steps {
    sh """
        echo 'Hello, World!'
    """
}

참고 URL : https://stackoverflow.com/questions/47796757/jenkinsfile-syntax-highlighting-in-java-project-using-intellij-idea

반응형