Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func WritePluginArtifactFile ¶ added in v0.4.1
func WritePluginArtifactFile(registryType RegistryType, artifactFilePath, registryURL, imageName, digest string, tags []string) error
WritePluginArtifactFile writes the docker artifact data to the provided artifact file
Types ¶
type Author ¶ added in v0.4.0
type Author struct {
	// Username of the Commit author.
	Username string
	// Name of the Commit author.
	Name string
	// Email for the Commit author.
	Email string
	// Avatar for the Commit author.
	Avatar string
}
    Author of a Commit.
type Build ¶
type Build struct {
	// Branch defines the branch name of the build.
	Branch string
	// PullRequest number of the build.
	PullRequest int
	// Tag of the build.
	Tag string
	// SourceBranch for the pull request.
	SourceBranch string
	// TargetBranch for the pull request.
	TargetBranch string
	// Number for the build.
	Number int
	// Parent build number for the build.
	Parent int
	// Event that triggered the build.
	Event string
	// Action that triggered the build. This value is used to differentiate
	// bettween a pull request being opened vs synchronized.
	Action string
	// Status of the build.
	Status string
	// Link to the build.
	Link string
	// Created time of the build.
	Created time.Time
	// Started time of the build.
	Started time.Time
	// Finished time of the build.
	Finished time.Time
	// DeployTo the environment.
	DeployTo string
	// DeployID for the environment.
	DeployID int
	// FailedStages of the build.
	FailedStages []string
	// FailedSteps of the build.
	FailedSteps []string
}
    Build represents a build of a repository.
type CalVer ¶ added in v0.4.0
type CalVer struct {
	// Version is the full calendar version.
	Version string
	// Major is the major version.
	Major string
	// Minor is the minor version.
	Minor string
	// Micro is the micro version.
	Micro string
	// Modifier is a modifier for the version.
	Modifier string
	// Short is the short version.
	//
	// This does not include the modifier.
	Short string
}
    CalVer represents the calendar version of the currently running build.
This value is only applicable for tags. If the tag cannot be parsed into a calendar version then the value will be empty.
type Commit ¶
type Commit struct {
	// SHA for the current commit.
	SHA string
	// Before contains the commit sha before the patch is applied.
	Before string
	// After contains the commit sha after the patch is applied.
	After string
	// Ref for the current commit.
	Ref string
	// Branch target for the push or pull request. This may be empty for
	// tag events.
	Branch string
	// Link to the commit or object in the source control management system.
	Link string
	// Message for the current commit.
	Message Message
	// Author of the commit.
	Author Author
}
    Commit represents the current commit being built.
type Data ¶ added in v0.4.1
type Data struct {
	RegistryType RegistryType `json:"registryType"`
	RegistryURL  string       `json:"registryUrl"`
	Images       []Image      `json:"images"`
}
    Data stores the registry data
type DockerArtifact ¶ added in v0.4.1
DockerArtifact is the current artifact
type Message ¶ added in v0.4.0
type Message struct {
	// Title for the Commit.
	Title string
	// Body of the Commit message.
	Body string
}
    Message for a Commit.
func ParseMessage ¶ added in v0.4.0
ParseMessage takes a full commit message and translates it into a Message.
type Network ¶
type Network struct {
	// Context for making network requests.
	//
	// If `trace` logging is requested the context will use `httptrace` to
	// capture all network requests.
	Context context.Context
	/// Whether SSL verification is skipped
	SkipVerify bool
	// Client for making network requests.
	Client *http.Client
}
    Network contains options for connecting to the network.
type Pipeline ¶
type Pipeline struct {
	Build  Build
	Repo   Repo
	Commit Commit
	Stage  Stage
	Step   Step
	SemVer SemVer
	CalVer CalVer
	System System
}
    Pipeline being executed.
Represents the full Drone environment that the plugin is executing in.
type Plugin ¶
type Plugin interface {
	// Validate checks the inputs to the Plugin and verifies that the
	// configuration is correct before executing.
	//
	// An error is returned if there are any issues with the current
	// configuration, such as missing information or files not being
	// present. A Plugin may choose to populate additional information to
	// ensure a successful execution, for example if a URL is parsed
	// successfully it can be stored off for later use.
	//
	// Validate needs to be called before Execute.
	Validate() error
	// Execute runs the plugin in the current configuration.
	//
	// An error is returned if the Plugin did not run successfully that
	// describes the runtime error.
	//
	// Execute needs to be called after Validate.
	Execute() error
}
    Plugin is an interface for a Drone plugin written in Go.
This is a higly opinionated interface for what a Plugin should do. Its not required that a plugin author follow it.
type RegistryType ¶ added in v0.4.1
type RegistryType string
RegistryType is the type of registry
const ( Docker RegistryType = "Docker" ECR RegistryType = "ECR" GCR RegistryType = "GCR" ACR RegistryType = "ACR" GAR RegistryType = "GAR" )
Registries const
type Repo ¶
type Repo struct {
	// Slug for the full name of a repo.
	Slug string
	// SCM for the used SCM.
	SCM string
	// Owner for the repo owner.
	Owner string
	// Name for the repo name.
	Name string
	// Link for the link to the repo.
	Link string
	// Branch for the default branch of the repo.
	Branch string
	// HTTPURL for the clone URL via HTTP.
	HTTPURL string
	// SSHURL for the clone URL via SSH
	SSHURL string
	// Visbility for the visbility of the repo.
	Visibility string
	// Private to show if the repo is private.
	Private bool
}
    Repo represents the repository for the build.
type SemVer ¶
type SemVer struct {
	// Version is the full semantic version.
	Version string
	// Major version number.
	Major string
	// Minor version number.
	Minor string
	// Patch version number.
	Patch string
	// Prerelease version.
	Prerelease string
	// Build version number.
	//
	// This is signified by a + at the end of the tag.
	Build string
	// Short version of the semantic version string where labels and
	// metadata are truncated.
	Short string
	// Error is the semantic version parsing error if the tag was invalid.
	Error string
}
    SemVer represents the semantic version of the currently running build.
This value is only applicable for tags. If the tag cannot be parsed into a semantic version then SemVer.Error will have the reason.
type Stage ¶
type Stage struct {
	// Kind is the kind of resource being executed.
	//
	// This value is sourced from the `kind` attribute in the yaml
	// configuration file
	Kind string
	// Type is the type of resource being executed.
	Type string
	// Name is the name for the current running build stage.
	Name string
	// Number is the stage number for the current running build stage.
	Number int
	// Machine provides the name of the host machine on which the build
	// stage is currently running.
	Machine string
	// OS is the target operating system for the current build stage.
	OS string
	// Arch is the platform architecture of the current build stage.
	Arch string
	// Variant is the target architecture variant for the current build
	// stage.
	Variant string
	// Version is OS version for the current build stage.
	Version string
	// Status is the status for the current running build stage.
	//
	// If all of the stage's steps are passing, the status defaults to
	// success.
	Status string
	// Started is the unix timestamp for when a build stage was started by
	// the runner.
	Started time.Time
	// Finished is the unix timestamp for when the pipeline is finished.
	//
	// A running pipleine cannot have a finish timestamp, therefore, the
	// system aways sets this value to the current timestamp.
	Finished time.Time
	// DependsOn is a list of dependencies for the current build stage.
	DependsOn []string
}
    Stage represents a build stage.
type Step ¶
type Step struct {
	// Name for the name of the current step.
	Name string
	// Number is the numeric value of the step.
	Number int
}
    Step represents the currently running step within the stage.