A basic Jenkinsfile linter (validator). Can validate files using a Jenkins web interface, or the Jenkins SSH interface.
To configure which type of validation to use (web or SSH), create an INI file named .jenkinslintrc
in the root of your repository.
The following parameters are supported:
- JENKINS_SERVER
Server name
- JENKINS_SSH_PORT
When set, use SSH validation
- JENKINS_UNSAFE_SSL
When set to TRUE, disable SSL/TLS certificate validation
- JENKINS_URL
Full Jenkins URL for web-based validation
Not all parameters need to be set. Example:
JENKINS_SERVER=jenkins.demo.local
JENKINS_SSH_PORT=8022
Validate files using jenkinslint
followed by the name of the Jenkinsfile, e.g.
jenkinslint Jenkinsfile
Install the pre-commit framework, and add the following to the .pre-commit-config.yaml
file:
- repo: https://github.com/PeterMosmans/jenkinslint
rev: master
hooks:
- id: jenkinslint
This will automatically validate files named Jenkinsfile
during the pre commit phase.