티스토리 뷰

DevOps/System&Tools

Jenkinsfile validator

Jacob_baek 2019. 11. 20. 13:01

Jenkinsfile을 수정해보았으나 간혹 syntax error가 발생될수 있다.
이때 마다 수정하고 code push후 이를 테스트 해보기란 여간 번거로운 일이 아닐수 없다.
하여 간단하게 plugin 혹은 built-in validator를 사용하여 검증하는 방법을 알아보도록 하자.

validator vscode plugin

아래 plugin 을 설치하고 사용할수 있다.

plugin이 설치되면 ctrl + shift + p 입력하여 validate pipeline 을 실행해볼수 있다.

validate Jenkinsfile을 선택하게 되면 URL 입력창이 뜨게 되는데 Jenkins가 동작중인 URL과 함께 pipeline-model-converter/validate 을 입력하면 된다.
(URL에서 예상되듯이 Jenkins에 해당 파일을 검증하도록 요청하는 방식이라 보면 된다.)

실제 아래와 같은 주소가 된다.

http://Jenkins-Domain:8080/pipeline-model-converter/validate

주의
안타깝게도 해당 validator는 pipeline 즉 declative pipeline만 사용이 가능하다.
또한 인증과정이 필요하여 접근권한 오류가 발생될수 있다. 하여 아래 curl 방식을 이용하는것을 추천한다.

Builtin validator

다음과 같은 built-in 되어 있는 validator를 이용할수 있다.
알아두어야 할 것은 POST 방식으로만 접근이 되기에 curl 과 같은 도구를 사용해야 한다.
또한 Jenkinsfile 파일이 존재하는 디렉토리에서 바로 실행하면 된다.

jacob@jacob-laptop:~/$ curl --user jacobbaek:****** -X POST -F "jenkinsfile=<Jenkinsfile" https://jenkins.example.com/pipeline-model-converter/validate --insecure
Errors encountered validating Jenkinsfile:
WorkflowScript: 136: unexpected char: '\' @ line 136, column 32.
                     sh "sed -i '/\[mons\]/{n;s/.*/\#test-message/}' inventory/${params.SITE}/hosts.ini"
                                  ^

정상적인 경우라면 아래와 같이 successfully validated 메세지를 확인할수 있다.

jacob@jacob-laptop:~/$ curl --user jacobbaek:****** -X POST -F "jenkinsfile=<Jenkinsfile" https://jenkins.example.com/pipeline-model-converter/validate --insecure
Jenkinsfile successfully validated.

'DevOps > System&Tools' 카테고리의 다른 글

Jenkinsfile example using ssh and scp  (0) 2019.11.25
variables in Jenkinsfile  (0) 2019.11.22
nexus  (0) 2019.11.12
k3s integrated with GitLab  (0) 2019.10.03
dynamic inventory  (0) 2018.07.24
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함