커밋하기 전에 Jenkinsfile을 로컬에서 확인하는 방법
5830 단어 jenkinsvscodedevopsjenkinsfile
배경
지속적 통합 및 배포는 재미있는 주제입니다. 최근 실제 직장에서 몇 가지 프로젝트를 진행하면서 많은 것을 배웠습니다.
특히 Jenkins와 함께 작업하는 경우 작업이 약간 위협적일 수 있습니다. 오해하지 마세요! Jenkins는 놀라운 도구입니다. 내가 시도한 다른 솔루션(Github Actions , Gitlab CI/CD Pipelines , Buddy.works 등)에 비해 학습 곡선이 약간 더 가파르다는 것을 알았습니다.
Jenkins에 익숙하지 않은 경우 엔터프라이즈 환경에서 매우 인기 있는 오픈 소스 CI/CD 자동화 제품군입니다.
명령을 실행하기 위해 Jenkins는 Jenkinsfile이라는 특수 파일을 사용합니다. 두 가지 맛을 사용할 수 있습니다.
선언적 구문: 파이프라인 명령을 작성하는 비교적 새로운 방법입니다("파이프라인 플러그인"버전 2.5에 처음 추가됨). 추가 정보here .
스크립팅된 구문: 파이프라인을 작성하는 전통적인 방법입니다. 이 옵션은 엄격하게 Apache Groovy Lang 구문을 사용하여 파이프라인의 모든 단계를 선언합니다.
젠킨스 파일
Jenkins로 작업할 때 파이프라인을 자동화하기 위한 두 가지 선택 사항이 있습니다.
이것은 Jenkinsfile이 어떻게 보이는지에 대한 매우 요약된 예입니다.
pipeline {
agent any
stages {
stage("This is stage 1") {
steps {
// Cool stuff goes here!
}
}
stage("This is stage 2") {
steps {
// Cool stuff goes here!
}
}
}
}
I'm not going to explain the sections of the file here, but you can check this amazing video by TechWorld by Nana:
권장 사항은 독립 실행형 Jenkinsfile로 작업하는 것입니다. 코드를 빌드, 테스트 및 배포하는 단계가 리포지토리에 속하고 버전을 지정할 수 있기 때문입니다.
문제
Jenkinsfile에서 작업할 때마다 실수를 합니다! 😓. 문제는 매번 이러한 변경 사항을 커밋 및 푸시하고 파이프라인을 실행하고 (이번에는) 파이프라인이 실행되는지 확인해야 한다는 것입니다. 이렇게 하면 구문 수정과 함께 불필요한 git 히스토리가 추가됩니다(개인적으로
"fix(jenkins): syntax typo"
와 같은 5개의 커밋 메시지를 작성하는 것이 정말 싫습니다). 어떻게 피할 수 있습니까? 글쎄, 솔루션은 VS Code 😄의 확장을 사용하게 됩니다.Visual Studio Code로 Jenkinsfile 유효성 검사
필요할 것이예요:
먼저 확장 패널에 Jenkins Pipeline Linter Connector 확장을 설치해야 합니다(Windows에서는 Ctrl + Shift + X, macOS에서는 Cmd + Shift + X).
설치 프로세스가 완료되면 구성해야 합니다. VS Code의 설정 섹션으로 이동합니다(Windows에서는 Ctrl + , macOS에서는 Cmd + ). "검색 설정"필드에 "Jenkins"를 입력합니다.
아래 필드를 작성하십시오.
커넥터 패스: 여기에 Jenkins 사용자 암호를 입력합니다.
커넥터 URL: 아래 형식에 따라 여기에 Jenkins 서버 URL을 입력합니다.
https://<JENKINS SERVER URL>/pipeline-model-converter/validate
커넥터 사용자: 여기에 Jenkins 사용자 이름을 입력합니다.
그리고 그게 다야! 이제 원격 Jenkins Server Linter 😄에 대해 확인하여 Jenkinsfile 구문을 린트할 수 있습니다. 이를 사용하려면 Jenkinsfile을 열고 명령 팔레트를 열고 "Validate Jenkins"라고 작성하십시오.
파일 구문이 유효하면 출력 탭에 이와 유사한 메시지가 표시됩니다.
결론
로컬 환경에서 Jenkinsfiles의 유효성을 검사하면 파이프라인 작성에 소요되는 시간을 실제로 개선할 수 있습니다. VS Code용 Jenkins Pipeline Linter Connector Extension을 사용하여 구문을 정기적으로 확인하기만 하면 일반적인 실수를 방지할 수 있습니다.
폐쇄
내 게시물을 읽어 주셔서 감사합니다. 나를 팔로우하거나 나를 지원하고 싶다면 buy me a coffee ☕도 할 수 있습니다.
참조
Reference
이 문제에 관하여(커밋하기 전에 Jenkinsfile을 로컬에서 확인하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/nicoavila/how-to-validate-your-jenkinsfile-locally-before-committing-334l텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)