build

module
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 25, 2019 License: Apache-2.0

README

Knative build

GoDoc Go Report Card

This repository contains a work-in-progress build system that is designed to address a common need for cloud native development.

A Knative build extends Kubernetes and utilizes existing Kubernetes primitives to provide you with the ability to run on-cluster container builds from source. For example, you can write a build that uses Kubernetes-native resources to obtain your source code from a repository, build a container image, then run that image.

While Knative builds are optimized for building, testing, and deploying source code, you are still responsible for developing the corresponding components that:

  • Retrieve source code from repositories.
  • Run multiple sequential jobs against a shared filesystem, for example:
    • Install dependencies.
    • Run unit and integration tests.
  • Build container images.
  • Push container images to an image registry, or deploy them to a cluster.

The goal of a Knative build is to provide a standard, portable, reusable, and performance optimized method for defining and running on-cluster container image builds. By providing the “boring but difficult” task of running builds on Kubernetes, Knative saves you from having to independently develop and reproduce these common Kubernetes-based development processes.

While today, a Knative build does not provide a complete standalone CI/CD solution, it does however, provide a lower-level building block that was purposefully designed to enable integration and utilization in larger systems.

Learn more

To learn more about builds in Knative, see the Knative build documentation.

To learn more about Knative in general, see the documentation.

Developing Knative builds

If you are interested in contributing to Knative builds:

  1. Visit the How to contribute page for information about how to become a Knative contributor.
  2. Learn how to set up your development environment.

Directories

Path Synopsis
cmd
nop
pkg
apis/build/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/build/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/build/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
reconciler/build/resources
Package resources provides methods to convert a Build CRD to a k8s Pod resource.
Package resources provides methods to convert a Build CRD to a k8s Pod resource.
reconciler/buildtemplate/resources/names
Package names holds simple functions for synthesizing resource names.
Package names holds simple functions for synthesizing resource names.
test
e2e

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL