 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
- func AskPackageOverrideLoop(packageVersionBaseline []*StepPackageVersion, defaultPackageVersion string, ...) ([]*StepPackageVersion, []*PackageVersionOverride, error)
- func AskQuestions(octopus *octopusApiClient.Client, stdout io.Writer, asker question.Asker, ...) error
- func NewCmdCreate(f factory.Factory) *cobra.Command
- type AmbiguousPackageVersionOverride
- type CreateFlags
- type PackageVersionOverride
- type StepPackageVersion
Constants ¶
const ( FlagProject = "project" FlagChannel = "channel" FlagPackageVersionSpec = "package" FlagVersion = "version" FlagAliasReleaseNumberLegacy = "releaseNumber" // alias for FlagVersion FlagPackageVersion = "package-version" FlagAliasDefaultPackageVersion = "default-package-version" // alias for FlagPackageVersion FlagAliasPackageVersionLegacy = "packageVersion" // alias for FlagPackageVersion FlagAliasDefaultPackageVersionLegacy = "defaultPackageVersion" // alias for FlagPackageVersion FlagReleaseNotes = "release-notes" FlagAliasReleaseNotesLegacy = "releaseNotes" FlagReleaseNotesFile = "release-notes-file" FlagAliasReleaseNotesFileLegacy = "releaseNotesFile" FlagAliasReleaseNoteFileLegacy = "releaseNoteFile" FlagGitRef = "git-ref" FlagAliasGitRefLegacy = "gitRef" FlagAliasGitRefRef = "ref" // alias for FlagGitRef FlagGitCommit = "git-commit" FlagAliasGitCommitLegacy = "gitCommit" FlagIgnoreExisting = "ignore-existing" FlagAliasIgnoreExistingLegacy = "ignoreExisting" FlagIgnoreChannelRules = "ignore-channel-rules" FlagAliasIgnoreChannelRulesLegacy = "ignoreChannelRules" )
Variables ¶
This section is empty.
Functions ¶
func AskPackageOverrideLoop ¶
func AskPackageOverrideLoop( packageVersionBaseline []*StepPackageVersion, defaultPackageVersion string, initialPackageOverrideFlags []string, asker question.Asker, stdout io.Writer) ([]*StepPackageVersion, []*PackageVersionOverride, error)
func AskQuestions ¶
func AskQuestions(octopus *octopusApiClient.Client, stdout io.Writer, asker question.Asker, options *executor.TaskOptionsCreateRelease) error
Types ¶
type AmbiguousPackageVersionOverride ¶
type AmbiguousPackageVersionOverride struct {
	ActionNameOrPackageID string
	PackageReferenceName  string
	Version               string
}
    AmbiguousPackageVersionOverride tells us that we want to set the version of some package to `Version` but it's not clear whether ActionNameOrPackageID refers to an ActionName or PackageID at this point
func ParsePackageOverrideString ¶
func ParsePackageOverrideString(packageOverride string) (*AmbiguousPackageVersionOverride, error)
ParsePackageOverrideString parses a package version override string into a structure. Logic should align with PackageVersionResolver in the Octopus Server and .NET CLI In cases where things are ambiguous, we look in steps for matching values to see if something is a PackageID or a StepName
type CreateFlags ¶
type CreateFlags struct {
	Project            *flag.Flag[string]
	Channel            *flag.Flag[string]
	GitRef             *flag.Flag[string]
	GitCommit          *flag.Flag[string]
	PackageVersion     *flag.Flag[string]
	ReleaseNotes       *flag.Flag[string]
	ReleaseNotesFile   *flag.Flag[string]
	Version            *flag.Flag[string]
	IgnoreExisting     *flag.Flag[bool]
	IgnoreChannelRules *flag.Flag[bool]
	PackageVersionSpec *flag.Flag[[]string]
}
    func NewCreateFlags ¶
func NewCreateFlags() *CreateFlags
type PackageVersionOverride ¶
type PackageVersionOverride struct {
	ActionName           string // optional, but one or both of ActionName or PackageID must be supplied
	PackageID            string // optional, but one or both of ActionName or PackageID must be supplied
	PackageReferenceName string // optional; use for advanced situations where the same package is referenced multiple times by a single step
	Version              string // required
}
    func ResolvePackageOverride ¶
func ResolvePackageOverride(override *AmbiguousPackageVersionOverride, steps []*StepPackageVersion) (*PackageVersionOverride, error)
func (*PackageVersionOverride) ToPackageOverrideString ¶
func (p *PackageVersionOverride) ToPackageOverrideString() string
ToPackageOverrideString converts the struct back into a string which the server can parse e.g. StepName:Version. This is the inverse of ParsePackageOverrideString
type StepPackageVersion ¶
type StepPackageVersion struct {
	// these 3 fields are the main ones for showing the user
	PackageID  string
	ActionName string // "StepName is an obsolete alias for ActionName, they always contain the same value"
	Version    string // note this may be an empty string, indicating that no version could be found for this package yet
	// used to locate the deployment process VersioningStrategy Donor Package
	PackageReferenceName string
}
    func ApplyPackageOverrides ¶
func ApplyPackageOverrides(packages []*StepPackageVersion, overrides []*PackageVersionOverride) []*StepPackageVersion
func BuildPackageVersionBaseline ¶
func BuildPackageVersionBaseline(octopus *octopusApiClient.Client, deploymentProcessTemplate *deployments.DeploymentProcessTemplate, channel *channels.Channel) ([]*StepPackageVersion, error)
BuildPackageVersionBaseline loads the deployment process template from the server, and for each step+package therein, finds the latest available version satisfying the channel version rules. Result is the list of step+package+versions to use as a baseline. The package version override process takes this as an input and layers on top of it