This repository contains a catalog of Task resources (and someday
Pipelines and Resources), which are designed to be reusable in many
pipelines.
Each Task is provided in a separate directory along with a README.md and a
Kubernetes manifest, so you can choose which Tasks to install on your
cluster.
There are two kinds of Tasks:
ClusterTaskwith a Cluster scope, which can be installed by a cluster operator and made available to users in all namespacesTaskwith a Namespace scope, which is designed to be installed and used only within that namespace.
Tasks in this repo are namespace-scoped Tasks, but can be installed as
ClusterTasks by changing the kind.
First, install a Task onto your cluster:
$ kubectl apply -f bazel.yaml
task.tekton.dev/bazel created
You can see which Tasks are installed using kubectl as well:
$ kubectl get tasks
NAME AGE
bazel 3s
OR
$ kubectl get clustertasks
NAME AGE
cluster-bazel 3s
With the Task installed, you can define a TaskRun that runs that Task,
being sure to provide values for required input parameters and resources:
apiVersion: tekton.dev/v1alpha1
kind: TaskRun
metadata:
name: example-run
spec:
taskRef:
name: bazel
inputs:
params:
- name: TARGET
value: //path/to/image:publish
resources:
- name: source
resourceSpec:
type: git
params:
- name: url
value: https://github.com/my-user/my-repo
Next, create the TaskRun you defined:
$ kubectl apply -f example-run.yaml
taskrun.tekton.dev/example-run created
You can check the status of the TaskRun using kubectl:
$ kubectl get taskrun example-run -oyaml
apiVersion: tekton.dev/v1alpha1
kind: TaskRun
metadata:
name: example-run
spec:
...
status:
completionTime: "2019-04-25T18:10:09Z"
conditions:
- lastTransitionTime: "2019-04-25T18:10:09Z"
status: True
type: Succeeded
...
If you want to contribute to this repository, please see our contributing guidelines.
If you are looking for support, enter an issue or join our Slack workspace