mirror of
https://github.com/tektoncd/catalog.git
synced 2024-11-21 05:55:35 +00:00
e763a4473e
With git-clone version 0.8 and onwards, it started running as non-root and GKE clusters were having some issues, so, we temporarily moved all tasks to use git-clone version 0.7. Ref: https://github.com/tektoncd/catalog/pull/1079 Since we have now moved to kind clusters in our CI, this issue is now resolved and thus moving all tasks to use latest version of git-clone Signed-off-by: vinamra28 <jvinamra776@gmail.com> |
||
---|---|---|
.. | ||
tests | ||
README.md | ||
shellcheck.yaml |
Shell Linter
The following task is used to provide static analysis on YAML files mounted using shellcheck
(YAML linter).
Installing the Task
kubectl apply -f https://api.hub.tekton.dev/v1/resource/tekton/task/shellcheck/0.1/raw
Parameters
- args: The extra params along with the file path needs to be provided as the part of
args
. (Default:["--help"]
)
Workspaces
- shared-workspace : The workspace containing files on which we want to apply linter check. It can be a shared workspace with the
git-clone
task or aConfigMap
mounted containing some files.
Platforms
The Task can be run on linux/amd64
platform.
Usage
- Create the
git-clone
task
kubectl apply -f https://api.hub.tekton.dev/v1/resource/tekton/task/git-clone/0.1/raw
-
Create the PVC
-
Apply the required tasks
-
Create the Pipeline and PipelineRun for
Shell
linter
apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
name: linter-pipeline
spec:
workspaces:
- name: shared-workspace
tasks:
- name: fetch-repository
taskRef:
name: git-clone
workspaces:
- name: output
workspace: shared-workspace
params:
- name: url
value: https://github.com/vinamra28/tekton-linter-test
- name: revision
value: "linter-test"
- name: subdirectory
value: ""
- name: deleteExisting
value: "true"
- name: shellcheck-run #lint Shell script
taskRef:
name: shellcheck
runAfter:
- fetch-repository
workspaces:
- name: shared-workspace
workspace: shared-workspace
params:
- name: args
value: ["myscript.sh"]
---
apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
name: linter-pipeline-run
spec:
pipelineRef:
name: linter-pipeline
workspaces:
- name: shared-workspace
persistentvolumeclaim:
claimName: linter-pvc
NOTE: Pipeline will go into failed
state if the linter check fails.