The following examples show how to configure a GoBuild step. For more information on GoBuild Pipeline steps, see GoBuild.
Full Pipeline Example
This example requires an Artifactory Integration or JFrog Platform Access Token Integration and a GitHub Integration.
For a full tutorial, see Pipeline Example: Go Build.
# This config file is templatized so that it can be easily customized. Values can be provided with a values.yml file. For more information, see the 'Pipeline Example: Go Build' quickstart.
template: true # required for local templates
valuesFilePath: ./values.yml
resources:
# Sample Go app in a GitRepo
- name: go_repo
type: GitRepo
configuration:
path: {{ .Values.repoPath }}
branches:
include: main
gitProvider: {{ .Values.gitProvider }}
# Build info for the published Go app
- name: go_buildinfo
type: BuildInfo
configuration:
sourceArtifactory: {{ .Values.artifactory }}
pipelines:
- name: go_build_pipeline_example
steps:
# Build the Go sample app from the GitRepo
- name: build_go
type: GoBuild
configuration:
sourceLocation: .
resolverRepo: go-virtual
noRegistry: true
inputResources:
- name: go_repo
integrations:
- name: {{ .Values.artifactory }}
# Publish the Go sample app binary to Artifactory
- name: publish_go_binary
type: GoPublishBinary
configuration:
inputSteps:
- name: build_go
targetRepository: go-local
integrations:
- name: {{ .Values.artifactory }}
# Publish the Go sample app build info
- name: publish_build
type: PublishBuildInfo
configuration:
inputSteps:
- name: publish_go_binary
outputResources:
- name: go_buildinfoDefault Locations
A GoBuild step using default locations.
GoBuild
pipelines:
- name: goBuildPipeline
steps:
- name: goBuildStep
type: GoBuild
configuration:
inputResources:
- name: gitRepoResource
integrations:
- name: artifactory_integrationFileSpec Input
A GoBuild step with a FileSpec input providing files for the build that are not in the GitRepo and resolverRepo specifying an Artifactory repository to use when resolving dependencies.
GoBuild
pipelines:
- name: goBuildPipeline
steps:
- name: goBuildStep
type: GoBuild
configuration:
resolverRepo: repo
inputResources:
- name: gitRepoResource
- name: fileSpec
Alternative Source Location in Git Repo
A GoBuild step with an alternative source location in the GitRepo and an alternative Go command for the build.
GoBuild
pipelines:
- name: goBuildPipeline
steps:
- name: goBuildStep
type: GoBuild
configuration:
sourceLocation: "app/go"
goCommand: "build -insecure -o output/outputFile"
inputResources:
- name: gitRepoResource
integrations:
- name: artifactory_integration