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에서 Jenkins 파일을 만들 때 구문 강조 표시나 자동 완성이 나타나지 않습니다.Jenkins는 처음이기 때문에, 그러한 기능은 매우 도움이 됩니다.Jenkins files에 대한 Idea의 지원을 강화하려면 어떻게 해야 할까요?
IntelliJ IDEA에서 Jenkins 파일의 구문 강조 표시 및 자동 완성을 얻을 수 없는 경우, 다른 에디터는 어떤 것이 도움이 됩니까?
주의:
Groovy 프로젝트가 아닌 Java 프로젝트로 작업하고 있습니다.
플러그인 https://github.com/oliverlockwood/jenkinsfile-idea-plugin은 이미 시도했습니다.플러그인이 활성화되면 Jenkins 파일은 그렇게 인식되지만 구문 강조 표시 대신 오류 메시지가 나타납니다.
pipeline { agent { docker 'maven:3.3.3' } stages { stage('build') { steps { sh 'echo Hello, World!' } } } }
IDEA가 인텔리J IDEA를 p
pipeline
메세지는 과 같습니다.에러 메세지는 다음과 같습니다.
JenkinsTokenType.COMMENT, JenkinsTokenType.CRLF or JenkinsTokenType.STEP_KEY expected, got 'p'
도와주셔서 감사합니다!
IDEA가 Jenkins 파일을 Groovy 파일로 인식하도록 하려면 String "Jenkinsfile"을 Groovy 파일의 유효한 파일 이름 패턴(일반적으로 파일 엔딩 포함)으로 추가할 수 있습니다.추가 플러그인은 필요 없습니다('Groovy' 플러그인은 제외하지만 이미 IDEA의 일부입니다).
이를 수행하려면 설정 메뉴로 이동하여 "편집자" 항목을 연 다음 "파일 형식"을 엽니다.젠킨스 파일Jenkinsfile*과 같은 정규식을 사용하면 Jenkinsfile의 마지막 옵션 파일에 대해 유연성을 높일 수 있습니다.
이것으로, 설정은 다음과 같습니다.
따라서 IDEA는 구문 강조 표시와 자동 완성 기능을 제공합니다.기존 기능/메서드명을 기재하고 있습니다만, 저는 Groovy 개발자가 아니기 때문에 몇 가지 제안사항이 누락되어 있는지 알 수 없습니다.
마침내 우리는 이데아의 정상적인 Java 프로젝트에 존재하는 Jenkins 파일에 대해 구문 강조 표시와 코드 완성을 제공하는 솔루션을 찾았습니다.솔루션은 여기서부터, 여기서(및 추가 개인 실험/연구에서) 취해진다.
Groovy SDK(아직 다운로드하지 않은 경우)를 Groovy 페이지에서 다운로드하여 Java 프로젝트에서 설정합니다.자세한 내용은 여기를 참조하십시오.
파이프라인 GDSL 파일을 Jenkins 인스턴스에서 다운로드하여 https://yourJenkinsInstance.tld/pipeline-syntax/gdsl 등의 링크에서 사용할 수 있어야 합니다.이 파일을 Java 프로젝트의 클래스 경로에 추가합니다.예: 새 폴더 src/main/jenkins를 만들고 파이프라인 gdsl 파일을 거기에 넣고 IntelliJ Idea에서 폴더를 소스 루트로 표시합니다.
여기에 설명된 대로 groovy 파일의 유효한 파일 이름 패턴으로 "Jenkins file"을 추가합니다.
오류 메시지를 피하기 위해
'node' cannot be applied to '(groovy.lang.Closure<java.lang.Object>)
Jenkins 파일의 맨 위에 다음 행을 추가할 수 있습니다.// No inspection Groovy Assignability (Groovy Assignability)확인.
또 다른 옵션은 젠킨스 파일 위에 이렇게 샤방을 사용하는 것입니다.#!/usr/bin/env groovy
또한 gdsl: https://st-g.de/2016/08/jenkins-pipeline-autocompletion-in-intellij을 사용해 볼 수도 있지만, 아직까지는 선언적인 파이프라인을 지원하지 않습니다.https://issues.jenkins-ci.org/browse/JENKINS-40127
추가한다면
#!groovy
그러면 IDE에서 groovy 구문이 강조 표시됩니다.
소스코드를 보니까COMMENTS
정의되어 있지 않다(코드에 코멘트 아웃 되어 있다).
그STEP_KEY
는 다음과 같이 정의됩니다.STEP_NAME="sh" | "parallel"
플러그인이 더 이상 할 수 있을지 모르겠고 2년 동안 업데이트되지 않았습니다.
설정 메뉴로 이동하여 "에디터" --> "파일 유형"을 엽니다.이제 상위 목록에서 "Groovy"를 선택하고 "를 추가합니다.젠킨스 파일" "와 같은 정규식을 사용할 수도 있습니다.Jenkinsfile"을 클릭합니다.
Jenkinsfile은 groovy한 스크립트이지만 보통 IntelliJ는 그것을 TextMate 에디터에 매핑합니다.
이를 수행하려면 설정 메뉴로 이동하여 "편집자" 항목을 연 다음 "파일 형식"을 엽니다.위 목록에서 "TextMate"를 선택하고 "Jenkins file"을 추가합니다.Jenkinsfile*과 같은 정규식을 사용하면 Jenkinsfile의 마지막 옵션 파일에 대해 유연성을 높일 수 있습니다.
sh
…
steps {
sh """
echo 'Hello, World!'
"""
}
언급URL : https://stackoverflow.com/questions/47796757/jenkinsfile-syntax-highlighting-in-java-project-using-intellij-idea
'source' 카테고리의 다른 글
Java Keystore 툴을 사용하여 Keystore 생성을 자동화하는 방법(사용자 상호 작용 없음) (0) | 2022.09.03 |
---|---|
Vuetify와 Laravel과 어떻게 결합합니까? (0) | 2022.09.03 |
인터페이스, 구현 또는 둘 다에 대해 코멘트하시겠습니까? (0) | 2022.09.03 |
불필요한 스터빙 예외 해결 방법 (0) | 2022.09.03 |
java.lang 잡는 중Out Of Memory Error? (0) | 2022.09.03 |