One of the customers I do work for recently decided that, in addition to supplying native deployment-automation code targeting their desired cloud-hosting service, they wanted us to deliver Jenkins pipeline wrappers to that code.
Prior to this customer's request, we always just used TravisCI to delint delivered code. For this project, we're primarily delivering BASH scripts and CloudFormation templates. To do basic syntax-validation, we use:
ShellCheck for the BASH scripts — used to be a module we had to download as part of the
.travis.ymlbut now seems to available as a built-in to the Travis container's standard tooling
jqor even just python's
json.tool— the former's more descriptive in its error-output.
Now that we're adding Jenkins jobs, looking for a similar sort of syntax-validator for the pipeline-definitions. Thought I'd post here to see if anyone knew of anything. Using the Command-line Pipeline Linter from the Jenkins pipeline guide isn't doesnt really seem practical for a public GitHub-hosted project.
Single Responsibility Principle (or SRP) is one of the most important concepts in software development. The main idea of this concept is: all pieces of software must have only a single responsibility.