本文整理汇总了Golang中github.com/concourse/go-concourse/concourse.Client.Pipeline方法的典型用法代码示例。如果您正苦于以下问题:Golang Client.Pipeline方法的具体用法?Golang Client.Pipeline怎么用?Golang Client.Pipeline使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/concourse/go-concourse/concourse.Client
的用法示例。
在下文中一共展示了Client.Pipeline方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: FetchTemplateData
func FetchTemplateData(
pipelineName string,
client concourse.Client,
jobName string,
page concourse.Page,
) (TemplateData, error) {
pipeline, pipelineFound, err := client.Pipeline(pipelineName)
if err != nil {
return TemplateData{}, err
}
if !pipelineFound {
return TemplateData{}, ErrConfigNotFound
}
job, jobFound, err := client.Job(pipelineName, jobName)
if err != nil {
return TemplateData{}, err
}
if !jobFound {
return TemplateData{}, ErrJobConfigNotFound
}
bs, pagination, _, err := client.JobBuilds(pipelineName, jobName, page)
if err != nil {
return TemplateData{}, err
}
var bsr []BuildWithInputsOutputs
for _, build := range bs {
buildInputsOutputs, _, err := client.BuildResources(build.ID)
if err != nil {
return TemplateData{}, err
}
bsr = append(bsr, BuildWithInputsOutputs{
Build: build,
Resources: buildInputsOutputs,
})
}
return TemplateData{
PipelineName: pipelineName,
Job: job,
Builds: bsr,
Pagination: pagination,
GroupStates: group.States(pipeline.Groups, func(g atc.GroupConfig) bool {
for _, groupJob := range g.Jobs {
if groupJob == job.Name {
return true
}
}
return false
}),
CurrentBuild: job.FinishedBuild,
}, nil
}
示例2: FetchTemplateData
func FetchTemplateData(pipelineName string, resourceName string, client concourse.Client, page concourse.Page) (TemplateData, error) {
pipeline, pipelineFound, err := client.Pipeline(pipelineName)
if err != nil {
return TemplateData{}, err
}
if !pipelineFound {
return TemplateData{}, ErrConfigNotFound
}
resource, resourceFound, err := client.Resource(pipelineName, resourceName)
if err != nil {
return TemplateData{}, err
}
if !resourceFound {
return TemplateData{}, ErrResourceNotFound
}
versionedResources, pagination, resourceVersionsFound, err := client.ResourceVersions(pipelineName, resourceName, page)
if err != nil {
return TemplateData{}, err
}
if !resourceVersionsFound {
return TemplateData{}, ErrResourceNotFound
}
versions := []VersionedResourceWithInputsAndOutputs{}
for _, versionedResource := range versionedResources {
inputs, _, err := client.BuildsWithVersionAsInput(pipelineName, resourceName, versionedResource.ID)
if err != nil {
return TemplateData{}, err
}
outputs, _, err := client.BuildsWithVersionAsOutput(pipelineName, resourceName, versionedResource.ID)
if err != nil {
return TemplateData{}, err
}
inputsTo := map[string][]atc.Build{}
outputsOf := map[string][]atc.Build{}
for _, input := range inputs {
if _, ok := inputsTo[input.JobName]; !ok {
inputsTo[input.JobName] = []atc.Build{}
}
inputsTo[input.JobName] = append(inputsTo[input.JobName], input)
}
for _, output := range outputs {
if _, ok := outputsOf[output.JobName]; !ok {
outputsOf[output.JobName] = []atc.Build{}
}
outputsOf[output.JobName] = append(outputsOf[output.JobName], output)
}
versions = append(versions, VersionedResourceWithInputsAndOutputs{
VersionedResource: versionedResource,
InputsTo: inputsTo,
OutputsOf: outputsOf,
})
}
return TemplateData{
Resource: resource,
Versions: versions,
PipelineName: pipelineName,
Pagination: pagination,
GroupStates: group.States(pipeline.Groups, func(g atc.GroupConfig) bool {
for _, groupResource := range g.Resources {
if groupResource == resource.Name {
return true
}
}
return false
}),
}, nil
}