Intellij Idea를 사용하여 Java 프로젝트에서 Jenkinsfile 구문 강조
우리는 이미 아래 나열된 접근 방식을 시도했습니다.
- https://github.com/oliverlockwood/jenkinsfile-idea-plugin
- https://st-g.de/2016/08/jenkins-pipeline-autocompletion-in-intellij
여러 날 동안 여러 시간 동안 웹을 검색했지만 여전히이 문제에 대한 유용한 리소스를 찾지 못했습니다. 따라서 여기에서 새로운 질문을하는 것이 합리적으로 보입니다.
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에서 다음과 같이 표시됩니다 (Dracula 테마 사용).
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!'
"""
}
'Program Tip' 카테고리의 다른 글
상위 폴더가없는 경우 파일을 작성하는 방법은 무엇입니까? (0) | 2020.10.23 |
---|---|
HTTP 및 HTTPS 요청 모두에 대해 서블릿에서 전체 URL 및 쿼리 문자열 가져 오기 (0) | 2020.10.23 |
.NET에서 기본 프린터를 얻는 가장 좋은 방법은 무엇입니까? (0) | 2020.10.23 |
GUID에는 몇 개의 문자가 있습니까? (0) | 2020.10.23 |
jquery 이벤트 핸들러를 덮어 쓰는 방법 (0) | 2020.10.23 |