125 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			125 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
trigger:
 | 
						|
  batch: true
 | 
						|
  branches:
 | 
						|
    include:
 | 
						|
      - master
 | 
						|
      - next
 | 
						|
      - version-*
 | 
						|
 | 
						|
variables:
 | 
						|
  ${{ if startsWith(variables['Build.SourceBranch'], 'refs/pull/') }}:
 | 
						|
    branchName: ${{ replace(variables['System.PullRequest.SourceBranch'], '/', '-') }}
 | 
						|
  ${{ if startsWith(variables['Build.SourceBranch'], 'refs/heads/') }}:
 | 
						|
    branchName: ${{ replace(variables['Build.SourceBranchName'], 'refs/heads/', '') }}
 | 
						|
 | 
						|
stages:
 | 
						|
  - stage: generate
 | 
						|
    jobs:
 | 
						|
      - job: generate_api
 | 
						|
        pool:
 | 
						|
          vmImage: 'ubuntu-latest'
 | 
						|
        steps:
 | 
						|
          - task: GoTool@0
 | 
						|
            inputs:
 | 
						|
              version: '1.16.3'
 | 
						|
          - task: CmdLine@2
 | 
						|
            inputs:
 | 
						|
              script: make gen-outpost
 | 
						|
          - task: PublishPipelineArtifact@1
 | 
						|
            inputs:
 | 
						|
              targetPath: 'outpost/api/'
 | 
						|
              artifact: 'go_api_client'
 | 
						|
              publishLocation: 'pipeline'
 | 
						|
  - stage: lint
 | 
						|
    jobs:
 | 
						|
      - job: golint
 | 
						|
        pool:
 | 
						|
          vmImage: 'ubuntu-latest'
 | 
						|
        steps:
 | 
						|
          - task: GoTool@0
 | 
						|
            inputs:
 | 
						|
              version: '1.16.3'
 | 
						|
          - task: DownloadPipelineArtifact@2
 | 
						|
            inputs:
 | 
						|
              buildType: 'current'
 | 
						|
              artifactName: 'go_api_client'
 | 
						|
              path: "outpost/api/"
 | 
						|
          - task: CmdLine@2
 | 
						|
            inputs:
 | 
						|
              script: |
 | 
						|
                docker run \
 | 
						|
                  --rm \
 | 
						|
                  -v $(pwd):/app \
 | 
						|
                  -w /app \
 | 
						|
                  golangci/golangci-lint:v1.39.0 \
 | 
						|
                  golangci-lint run -v --timeout 200s
 | 
						|
              workingDirectory: 'outpost/'
 | 
						|
  - stage: build_docker
 | 
						|
    jobs:
 | 
						|
      - job: proxy_build_docker
 | 
						|
        pool:
 | 
						|
          vmImage: 'ubuntu-latest'
 | 
						|
        steps:
 | 
						|
          - task: GoTool@0
 | 
						|
            inputs:
 | 
						|
              version: '1.16.3'
 | 
						|
          - task: Bash@3
 | 
						|
            inputs:
 | 
						|
              targetType: 'inline'
 | 
						|
              script: |
 | 
						|
                python ./scripts/az_do_set_branch.py
 | 
						|
          - task: Docker@2
 | 
						|
            inputs:
 | 
						|
              containerRegistry: 'beryjuorg-harbor'
 | 
						|
              repository: 'authentik/outpost-proxy'
 | 
						|
              command: 'build'
 | 
						|
              Dockerfile: 'outpost/proxy.Dockerfile'
 | 
						|
              buildContext: '$(Build.SourcesDirectory)'
 | 
						|
              tags: |
 | 
						|
                gh-$(branchName)
 | 
						|
                gh-$(branchName)-$(timestamp)
 | 
						|
                gh-$(Build.SourceVersion)
 | 
						|
              arguments: '--build-arg GIT_BUILD_HASH=$(Build.SourceVersion)'
 | 
						|
          - task: Docker@2
 | 
						|
            inputs:
 | 
						|
              containerRegistry: 'beryjuorg-harbor'
 | 
						|
              repository: 'authentik/outpost-proxy'
 | 
						|
              command: 'push'
 | 
						|
              tags: |
 | 
						|
                gh-$(branchName)
 | 
						|
                gh-$(branchName)-$(timestamp)
 | 
						|
                gh-$(Build.SourceVersion)
 | 
						|
      - job: ldap_build_docker
 | 
						|
        pool:
 | 
						|
          vmImage: 'ubuntu-latest'
 | 
						|
        steps:
 | 
						|
          - task: GoTool@0
 | 
						|
            inputs:
 | 
						|
              version: '1.16.3'
 | 
						|
          - task: Bash@3
 | 
						|
            inputs:
 | 
						|
              targetType: 'inline'
 | 
						|
              script: |
 | 
						|
                python ./scripts/az_do_set_branch.py
 | 
						|
          - task: Docker@2
 | 
						|
            inputs:
 | 
						|
              containerRegistry: 'beryjuorg-harbor'
 | 
						|
              repository: 'authentik/outpost-ldap'
 | 
						|
              command: 'build'
 | 
						|
              Dockerfile: 'outpost/ldap.Dockerfile'
 | 
						|
              buildContext: '$(Build.SourcesDirectory)'
 | 
						|
              tags: |
 | 
						|
                gh-$(branchName)
 | 
						|
                gh-$(branchName)-$(timestamp)
 | 
						|
                gh-$(Build.SourceVersion)
 | 
						|
              arguments: '--build-arg GIT_BUILD_HASH=$(Build.SourceVersion)'
 | 
						|
          - task: Docker@2
 | 
						|
            inputs:
 | 
						|
              containerRegistry: 'beryjuorg-harbor'
 | 
						|
              repository: 'authentik/outpost-ldap'
 | 
						|
              command: 'push'
 | 
						|
              tags: |
 | 
						|
                gh-$(branchName)
 | 
						|
                gh-$(branchName)-$(timestamp)
 | 
						|
                gh-$(Build.SourceVersion)
 |