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. A directory can hold more than one task (e.g. golang).
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
This project is still under active development, so you might run into issues. If you do, please don't be shy about letting us know, or better yet, contribute a fix or feature. Its folder structure is not yet set in stone either.