Documentation ¶
Index ¶
- func DependenciesForArtifact(ctx context.Context, a *latest.Artifact, cfg docker.Config, ...) ([]string, error)
- func TagWithDigest(tag, digest string) string
- func TagWithImageID(ctx context.Context, tag string, imageID string, ...) (string, error)
- type Artifact
- type ArtifactBuilder
- type ArtifactGraph
- type ArtifactStore
- type Builder
- type BuilderMux
- type Config
- type ErrSyncMapNotSupported
- type Muted
- type PipelineBuilder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DependenciesForArtifact ¶ added in v0.7.0
func DependenciesForArtifact(ctx context.Context, a *latest.Artifact, cfg docker.Config, r docker.ArtifactResolver) ([]string, error)
DependenciesForArtifact returns the dependencies for a given artifact.
func TagWithDigest ¶ added in v1.1.0
func TagWithImageID ¶ added in v1.1.0
Types ¶
type Artifact ¶ added in v0.8.0
Artifact is the result corresponding to each successful build.
func InOrder ¶ added in v1.7.1
func InOrder(ctx context.Context, out io.Writer, tags tag.ImageTags, artifacts []*latest.Artifact, artifactBuilder ArtifactBuilder, concurrency int, store ArtifactStore) ([]Artifact, error)
InOrder builds a list of artifacts in dependency order.
func MergeWithPreviousBuilds ¶ added in v0.27.0
MergeWithPreviousBuilds merges previous or prebuilt build artifacts with builds. If an artifact is already present in builds, the same artifact from previous will be replaced at the same position.
type ArtifactBuilder ¶ added in v1.7.1
type ArtifactBuilder func(ctx context.Context, out io.Writer, artifact *latest.Artifact, tag string) (string, error)
func WithLogFile ¶ added in v1.7.1
func WithLogFile(builder ArtifactBuilder, muted Muted) ArtifactBuilder
WithLogFile wraps an `artifactBuilder` so that it optionally outputs its logs to a file.
type ArtifactGraph ¶ added in v1.7.1
ArtifactGraph is a map of [artifact image : artifact definition]
func ToArtifactGraph ¶ added in v1.7.1
func ToArtifactGraph(artifacts []*latest.Artifact) ArtifactGraph
ToArtifactGraph creates an instance of `ArtifactGraph` from `[]*latest.Artifact`
func (ArtifactGraph) Dependencies ¶ added in v1.7.1
func (g ArtifactGraph) Dependencies(a *latest.Artifact) []*latest.Artifact
Dependencies returns the de-referenced slice of required artifacts for a given artifact
type ArtifactStore ¶ added in v1.7.1
type ArtifactStore interface { Record(a *latest.Artifact, tag string) GetImageTag(imageName string) (tag string, found bool) GetArtifacts(s []*latest.Artifact) ([]Artifact, error) }
ArtifactStore stores the results of each artifact build.
func NewArtifactStore ¶ added in v1.7.1
func NewArtifactStore() ArtifactStore
type Builder ¶
type Builder interface { Build(ctx context.Context, out io.Writer, tags tag.ImageTags, artifacts []*latest.Artifact) ([]Artifact, error) // Prune removes images built with Skaffold Prune(context.Context, io.Writer) error }
Builder is an interface to the Build API of Skaffold. It must build and make the resulting image accessible to the cluster. This could include pushing to a authorized repository or loading the nodes with the image. If artifacts is supplied, the builder should only rebuild those artifacts.
type BuilderMux ¶ added in v1.18.0
type BuilderMux struct {
// contains filtered or unexported fields
}
BuilderMux encapsulates multiple build configs.
func NewBuilderMux ¶ added in v1.18.0
func NewBuilderMux(cfg Config, store ArtifactStore, builder func(p latest.Pipeline) (PipelineBuilder, error)) (*BuilderMux, error)
NewBuilderMux returns an implementation of `build.BuilderMux`.
type ErrSyncMapNotSupported ¶ added in v0.32.0
type ErrSyncMapNotSupported struct{}
func (ErrSyncMapNotSupported) Error ¶ added in v0.32.0
func (ErrSyncMapNotSupported) Error() string
type PipelineBuilder ¶ added in v1.18.0
type PipelineBuilder interface { // PreBuild executes any one-time setup required prior to starting any build on this builder PreBuild(ctx context.Context, out io.Writer) error // Build returns the `ArtifactBuilder` based on this build pipeline type Build(ctx context.Context, out io.Writer, artifact *latest.Artifact) ArtifactBuilder // PostBuild executes any one-time teardown required after all builds on this builder are complete PostBuild(ctx context.Context, out io.Writer) error // Concurrency specifies the max number of builds that can run at any one time. If concurrency is 0, then all builds can run in parallel. Concurrency() int // Prune removes images built in this pipeline Prune(context.Context, io.Writer) error }
PipelineBuilder is an interface for a specific Skaffold config pipeline build type. Current implementations are the `local`, `cluster` and `gcb`