|
| 1 | +# Knative Pipelines |
| 2 | + |
| 3 | +Pipelines is an open source implementation to configure and run CI/CD style |
| 4 | +pipelines for your Kubernetes application. |
| 5 | + |
| 6 | +Pipeline creates |
| 7 | +[Custom Resources](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) |
| 8 | +as building blocks to declare pipelines. |
| 9 | + |
| 10 | +A custom resource is an extension of Kubernetes API which can create a custom |
| 11 | +[Kubernetes Object](https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/#understanding-kubernetes-objects). |
| 12 | +Once a custom resource is installed, users can create and access its objects |
| 13 | +with kubectl, just as they do for built-in resources like pods, deployments etc. |
| 14 | +These resources run on-cluster and are implemented by |
| 15 | +[Kubernetes Custom Resource Definition (CRD)](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#customresourcedefinitions). |
| 16 | + |
| 17 | +High level details of this design: |
| 18 | + |
| 19 | +- [Pipelines](pipelines.md) do not know what will trigger them, they can be |
| 20 | + triggered by events or by manually creating [PipelineRuns](pipelineruns.md) |
| 21 | +- [Tasks](tasks.md) can exist and be invoked completely independently of |
| 22 | + [Pipelines](pipelines.md); they are highly cohesive and loosely coupled |
| 23 | +- [Tasks](tasks.md) can depend on artifacts, output and parameters created by other |
| 24 | + tasks. |
| 25 | +- [Tasks](tasks.md) can be invoked via [TaskRuns](taskruns.md) |
| 26 | +- [PipelineResources](#pipelineresources) are the artifacts used as inputs and |
| 27 | + outputs of Tasks. |
| 28 | + |
| 29 | +## Usage |
| 30 | + |
| 31 | +- [How do I create a new Pipeline?](pipelines.md) |
| 32 | +- [How do I make a Task?](tasks.md) |
| 33 | +- [How do I make Resources?](resources.md) |
| 34 | +- [How do I control auth?](auth.md) |
| 35 | +- [How do I run a Pipeline?](pipelineruns.md) |
| 36 | +- [How do I run a Task on its own?](taskruns.md) |
| 37 | + |
| 38 | +## Learn more |
| 39 | + |
| 40 | +See the following reference topics for information about each of the build |
| 41 | +components: |
| 42 | + |
| 43 | +- [`Task`](tasks.md) |
| 44 | +- [`TaskRun`](taskrun.md) |
| 45 | +- [`Pipeline`](https://github.com/knative/docs/blob/master/pipeline/pipeline.md) |
| 46 | +- [`PipelineRun`](https://github.com/knative/docs/blob/master/pipeline/pipelinerun.md) |
| 47 | +- [`PipelineResource`](https://github.com/knative/docs/blob/master/pipeline/pipelineresource.md) |
| 48 | + |
| 49 | +## Try it out |
| 50 | + |
| 51 | +* Follow along with [the tutorial](tutorial.md) |
| 52 | +* Look at [the examples](https://github.com/knative/build-pipeline/tree/master/examples) |
| 53 | + |
| 54 | +## Related info |
| 55 | + |
| 56 | +If you are interested in contributing to the Knative Build project, see the |
| 57 | +[Knative Pipeline code repository](https://github.com/knative/build-pipeline). |
| 58 | + |
| 59 | +--- |
| 60 | + |
| 61 | +Except as otherwise noted, the content of this page is licensed under the |
| 62 | +[Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/), |
| 63 | +and code samples are licensed under the |
| 64 | +[Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0). |
0 commit comments