From ae2f76e4b7f0d08dd56868f0210f6e3196cc6a97 Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Tue, 1 Oct 2019 19:45:38 -0500 Subject: [PATCH] add agent build --- azure-pipelines.agent.yaml | 116 +++++++++++++++++++++++++++++++++ docker-compose.agent.tests.yml | 2 +- docker-compose.yml | 2 +- 3 files changed, 118 insertions(+), 2 deletions(-) create mode 100644 azure-pipelines.agent.yaml diff --git a/azure-pipelines.agent.yaml b/azure-pipelines.agent.yaml new file mode 100644 index 000000000..667c7084a --- /dev/null +++ b/azure-pipelines.agent.yaml @@ -0,0 +1,116 @@ +trigger: + batch: false + branches: + include: ["master"] + paths: + include: + [ + "azure-pipelines.agent.yaml", + "src/FilterLists.Agent/*", + "tests/FilterLists.Agent.Tests/*", + ".dockerignore", + "docker-compose.yml", + "docker-compose.prod.yml", + "docker-compose.agent.tests.yml", + ] + +pr: + autoCancel: false + branches: + include: ["master"] + paths: + include: + [ + "azure-pipelines.agent.yaml", + "src/FilterLists.Agent/*", + "tests/FilterLists.Agent.Tests/*", + ".dockerignore", + "docker-compose.yml", + "docker-compose.prod.yml", + "docker-compose.agent.tests.yml", + ] + +pool: + vmImage: "ubuntu-latest" + +steps: + - task: Docker@2 + displayName: "create volume test-agent-results" + inputs: + command: "volume" + arguments: "create test-agent-results" + + - task: DockerCompose@0 + displayName: "run agent" + inputs: + dockerComposeFile: "docker-compose.agent.tests.yml" + dockerComposeCommand: "run agent" + + - task: Docker@2 + displayName: "create container test-agent-results" + inputs: + command: "container" + arguments: "create --name test-agent-results -v test-agent-results:/results hello-world" + condition: "succeededOrFailed()" + + - task: Docker@2 + displayName: "copy out test-agent results" + inputs: + command: "cp" + arguments: "test-agent-results:/results $(System.DefaultWorkingDirectory)" + condition: "succeededOrFailed()" + + - task: PublishTestResults@2 + displayName: "publish test results" + inputs: + testResultsFormat: "VSTest" + testResultsFiles: "**/*.trx" + condition: "succeededOrFailed()" + + - task: DockerCompose@0 + displayName: "build final" + inputs: + dockerComposeFile: "docker-compose.yml" + additionalDockerComposeFiles: "docker-compose.prod.yml" + dockerComposeCommand: "build agent" + condition: "and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))" + + - task: Docker@2 + displayName: "tag build number" + inputs: + containerRegistry: "collinbarrett2-dockerhub" + repository: "collinbarrett2/filterlists.agent" + command: "tag" + arguments: "collinbarrett2/filterlists.agent:latest collinbarrett2/filterlists.agent:$(Build.BuildId)" + condition: "and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))" + + - task: Docker@2 + displayName: "push" + inputs: + containerRegistry: "collinbarrett2-dockerhub" + repository: "collinbarrett2/filterlists.agent" + command: "push" + tags: | + latest + $(Build.BuildId) + condition: "and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))" + + - task: CopyFiles@2 + displayName: "stage docker-compose files" + inputs: + SourceFolder: "$(Build.SourcesDirectory)" + Contents: | + docker-compose.yml + docker-compose.prod.yml + TargetFolder: "$(Build.ArtifactStagingDirectory)" + CleanTargetFolder: true + OverWrite: true + condition: "and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))" + + - task: PublishBuildArtifacts@1 + displayName: "publish docker-compose files" + inputs: + PathtoPublish: "$(Build.ArtifactStagingDirectory)" + ArtifactName: "drop" + publishLocation: "Container" + condition: "and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))" diff --git a/docker-compose.agent.tests.yml b/docker-compose.agent.tests.yml index 24e091f7f..f3c6cfd2c 100644 --- a/docker-compose.agent.tests.yml +++ b/docker-compose.agent.tests.yml @@ -2,7 +2,7 @@ version: "3.7" services: agent: - image: docker.pkg.github.com/collinbarrett/filterlists/filterlists.agent:test-agent + image: collinbarrett2/filterlists.agent:test-agent build: context: . dockerfile: src/FilterLists.Agent/Dockerfile diff --git a/docker-compose.yml b/docker-compose.yml index e12fc290b..ff7afac2e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -57,7 +57,7 @@ services: ] agent: - image: docker.pkg.github.com/collinbarrett/filterlists/filterlists.agent:latest + image: collinbarrett2/filterlists.agent:latest build: context: . dockerfile: src/FilterLists.Agent/Dockerfile