40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
# Go
 | 
						|
# Build your Go project.
 | 
						|
# Add steps that test, save build artifacts, deploy, and more:
 | 
						|
# https://docs.microsoft.com/azure/devops/pipelines/languages/go
 | 
						|
 | 
						|
trigger:
 | 
						|
- master
 | 
						|
 | 
						|
pool:
 | 
						|
  vmImage: 'Ubuntu-16.04'
 | 
						|
 | 
						|
variables:
 | 
						|
  GOBIN:  '$(GOPATH)/bin' # Go binaries path
 | 
						|
  GOROOT: '/usr/local/go1.11' # Go installation path
 | 
						|
  GOPATH: '$(system.defaultWorkingDirectory)/gopath' # Go workspace path
 | 
						|
  modulePath: '$(GOPATH)/src/github.com/$(build.repository.name)' # Path to the module's code
 | 
						|
 | 
						|
steps:
 | 
						|
- script: |
 | 
						|
    mkdir -p '$(GOBIN)'
 | 
						|
    mkdir -p '$(GOPATH)/pkg'
 | 
						|
    mkdir -p '$(modulePath)'
 | 
						|
    shopt -s extglob
 | 
						|
    shopt -s dotglob
 | 
						|
    mv !(gopath) '$(modulePath)'
 | 
						|
    echo '##vso[task.prependpath]$(GOBIN)'
 | 
						|
    echo '##vso[task.prependpath]$(GOROOT)/bin'    
 | 
						|
  displayName: 'Set up the Go workspace'
 | 
						|
 | 
						|
- script: |
 | 
						|
    go version
 | 
						|
    go get -v -t -d ./...
 | 
						|
    if [ -f Gopkg.toml ]; then
 | 
						|
        curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
 | 
						|
        dep ensure
 | 
						|
    fi
 | 
						|
    go build -v .    
 | 
						|
  workingDirectory: '$(modulePath)'
 | 
						|
  displayName: 'Get dependencies, then build'
 |