2020-09-02 22:04:12 +00:00
|
|
|
trigger:
|
2021-05-06 12:02:59 +00:00
|
|
|
batch: true
|
|
|
|
branches:
|
|
|
|
include:
|
|
|
|
- master
|
|
|
|
- next
|
|
|
|
- version-*
|
2020-09-02 22:04:12 +00:00
|
|
|
|
2020-12-02 21:41:53 +00:00
|
|
|
variables:
|
2021-01-25 19:51:01 +00:00
|
|
|
${{ if startsWith(variables['Build.SourceBranch'], 'refs/pull/') }}:
|
|
|
|
branchName: ${{ replace(variables['System.PullRequest.SourceBranch'], '/', '-') }}
|
2020-12-02 21:41:53 +00:00
|
|
|
${{ if startsWith(variables['Build.SourceBranch'], 'refs/heads/') }}:
|
|
|
|
branchName: ${{ replace(variables['Build.SourceBranchName'], 'refs/heads/', '') }}
|
|
|
|
|
2020-09-02 22:04:12 +00:00
|
|
|
stages:
|
|
|
|
- stage: generate
|
|
|
|
jobs:
|
2021-05-16 21:24:52 +00:00
|
|
|
- job: generate_api
|
2020-09-02 22:04:12 +00:00
|
|
|
pool:
|
|
|
|
vmImage: 'ubuntu-latest'
|
|
|
|
steps:
|
|
|
|
- task: GoTool@0
|
|
|
|
inputs:
|
2021-04-16 21:15:06 +00:00
|
|
|
version: '1.16.3'
|
2020-09-02 22:04:12 +00:00
|
|
|
- task: CmdLine@2
|
|
|
|
inputs:
|
2021-05-16 20:57:02 +00:00
|
|
|
script: make gen-outpost
|
2020-09-02 22:04:12 +00:00
|
|
|
- task: PublishPipelineArtifact@1
|
|
|
|
inputs:
|
2021-05-16 19:07:01 +00:00
|
|
|
targetPath: 'outpost/api/'
|
2021-05-16 19:59:46 +00:00
|
|
|
artifact: 'go_api_client'
|
2020-09-02 22:04:12 +00:00
|
|
|
publishLocation: 'pipeline'
|
|
|
|
- stage: lint
|
|
|
|
jobs:
|
|
|
|
- job: golint
|
|
|
|
pool:
|
|
|
|
vmImage: 'ubuntu-latest'
|
|
|
|
steps:
|
|
|
|
- task: GoTool@0
|
|
|
|
inputs:
|
2021-04-16 21:15:06 +00:00
|
|
|
version: '1.16.3'
|
2020-09-02 22:04:12 +00:00
|
|
|
- task: DownloadPipelineArtifact@2
|
|
|
|
inputs:
|
|
|
|
buildType: 'current'
|
2021-05-16 19:59:46 +00:00
|
|
|
artifactName: 'go_api_client'
|
2021-05-16 19:07:01 +00:00
|
|
|
path: "outpost/api/"
|
2020-09-02 22:04:12 +00:00
|
|
|
- task: CmdLine@2
|
|
|
|
inputs:
|
|
|
|
script: |
|
2021-05-16 19:07:01 +00:00
|
|
|
docker run \
|
|
|
|
--rm \
|
|
|
|
-v $(pwd):/app \
|
|
|
|
-w /app \
|
|
|
|
golangci/golangci-lint:v1.39.0 \
|
|
|
|
golangci-lint run -v --timeout 200s
|
2021-01-16 20:49:30 +00:00
|
|
|
workingDirectory: 'outpost/'
|
2021-04-26 13:35:56 +00:00
|
|
|
- stage: build_go
|
2020-09-02 22:04:12 +00:00
|
|
|
jobs:
|
2021-04-26 13:35:56 +00:00
|
|
|
- job: proxy_build_go
|
2020-09-02 22:04:12 +00:00
|
|
|
pool:
|
|
|
|
vmImage: 'ubuntu-latest'
|
|
|
|
steps:
|
|
|
|
- task: GoTool@0
|
|
|
|
inputs:
|
2021-04-16 21:15:06 +00:00
|
|
|
version: '1.16.3'
|
2020-09-02 22:04:12 +00:00
|
|
|
- task: DownloadPipelineArtifact@2
|
|
|
|
inputs:
|
|
|
|
buildType: 'current'
|
2021-05-16 19:59:46 +00:00
|
|
|
artifactName: 'go_api_client'
|
2021-05-16 19:07:01 +00:00
|
|
|
path: "outpost/api/"
|
2020-09-02 22:04:12 +00:00
|
|
|
- task: Go@0
|
|
|
|
inputs:
|
|
|
|
command: 'build'
|
2021-01-16 20:49:30 +00:00
|
|
|
arguments: './cmd/proxy'
|
|
|
|
workingDirectory: 'outpost/'
|
2021-04-26 13:35:56 +00:00
|
|
|
- job: ldap_build_go
|
|
|
|
pool:
|
|
|
|
vmImage: 'ubuntu-latest'
|
|
|
|
steps:
|
|
|
|
- task: GoTool@0
|
|
|
|
inputs:
|
|
|
|
version: '1.16.3'
|
|
|
|
- task: DownloadPipelineArtifact@2
|
|
|
|
inputs:
|
|
|
|
buildType: 'current'
|
2021-05-16 19:59:46 +00:00
|
|
|
artifactName: 'go_api_client'
|
2021-05-16 19:07:01 +00:00
|
|
|
path: "outpost/api/"
|
2021-04-26 13:35:56 +00:00
|
|
|
- task: Go@0
|
|
|
|
inputs:
|
|
|
|
command: 'build'
|
|
|
|
arguments: './cmd/ldap'
|
|
|
|
workingDirectory: 'outpost/'
|
|
|
|
- stage: build_docker
|
2020-09-02 22:04:12 +00:00
|
|
|
jobs:
|
2021-04-26 13:35:56 +00:00
|
|
|
- job: proxy_build_docker
|
2020-09-02 22:04:12 +00:00
|
|
|
pool:
|
|
|
|
vmImage: 'ubuntu-latest'
|
|
|
|
steps:
|
|
|
|
- task: GoTool@0
|
|
|
|
inputs:
|
2021-04-16 21:15:06 +00:00
|
|
|
version: '1.16.3'
|
2020-09-02 22:04:12 +00:00
|
|
|
- task: DownloadPipelineArtifact@2
|
|
|
|
inputs:
|
|
|
|
buildType: 'current'
|
2021-05-16 19:59:46 +00:00
|
|
|
artifactName: 'go_api_client'
|
2021-05-16 19:07:01 +00:00
|
|
|
path: "outpost/api/"
|
2021-01-11 15:18:44 +00:00
|
|
|
- task: Bash@3
|
|
|
|
inputs:
|
|
|
|
targetType: 'inline'
|
|
|
|
script: |
|
2021-02-28 13:24:16 +00:00
|
|
|
python ./scripts/az_do_set_branch.py
|
2020-09-02 22:04:12 +00:00
|
|
|
- task: Docker@2
|
|
|
|
inputs:
|
2021-03-02 23:05:15 +00:00
|
|
|
containerRegistry: 'beryjuorg-harbor'
|
2021-03-23 17:31:26 +00:00
|
|
|
repository: 'authentik/outpost-proxy'
|
2021-05-13 15:49:11 +00:00
|
|
|
command: 'build'
|
2021-01-16 20:49:30 +00:00
|
|
|
Dockerfile: 'outpost/proxy.Dockerfile'
|
|
|
|
buildContext: 'outpost/'
|
2021-05-12 18:37:55 +00:00
|
|
|
tags: |
|
|
|
|
gh-$(branchName)
|
|
|
|
gh-$(Build.SourceVersion)
|
2021-05-12 16:56:44 +00:00
|
|
|
arguments: '--build-arg GIT_BUILD_HASH=$(Build.SourceVersion)'
|
2021-05-13 15:49:11 +00:00
|
|
|
- task: Docker@2
|
|
|
|
inputs:
|
|
|
|
containerRegistry: 'beryjuorg-harbor'
|
|
|
|
repository: 'authentik/outpost-proxy'
|
|
|
|
command: 'push'
|
|
|
|
tags: |
|
|
|
|
gh-$(branchName)
|
|
|
|
gh-$(Build.SourceVersion)
|
2021-04-26 13:35:56 +00:00
|
|
|
- job: ldap_build_docker
|
|
|
|
pool:
|
|
|
|
vmImage: 'ubuntu-latest'
|
|
|
|
steps:
|
|
|
|
- task: GoTool@0
|
|
|
|
inputs:
|
|
|
|
version: '1.16.3'
|
|
|
|
- task: DownloadPipelineArtifact@2
|
|
|
|
inputs:
|
|
|
|
buildType: 'current'
|
2021-05-16 19:59:46 +00:00
|
|
|
artifactName: 'go_api_client'
|
2021-05-16 19:07:01 +00:00
|
|
|
path: "outpost/api/"
|
2021-04-26 13:35:56 +00:00
|
|
|
- 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'
|
2021-05-13 15:49:11 +00:00
|
|
|
command: 'build'
|
2021-04-26 13:35:56 +00:00
|
|
|
Dockerfile: 'outpost/ldap.Dockerfile'
|
|
|
|
buildContext: 'outpost/'
|
2021-05-12 18:37:55 +00:00
|
|
|
tags: |
|
|
|
|
gh-$(branchName)
|
|
|
|
gh-$(Build.SourceVersion)
|
2021-05-12 16:56:44 +00:00
|
|
|
arguments: '--build-arg GIT_BUILD_HASH=$(Build.SourceVersion)'
|
2021-05-13 15:49:11 +00:00
|
|
|
- task: Docker@2
|
|
|
|
inputs:
|
|
|
|
containerRegistry: 'beryjuorg-harbor'
|
|
|
|
repository: 'authentik/outpost-ldap'
|
|
|
|
command: 'push'
|
|
|
|
tags: |
|
|
|
|
gh-$(branchName)
|
|
|
|
gh-$(Build.SourceVersion)
|