aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar MarkKoz <[email protected]>2019-09-20 22:20:28 -0700
committerGravatar MarkKoz <[email protected]>2019-09-20 22:20:28 -0700
commit9aada1907c364438f466f447962df48b06824c14 (patch)
treee53cb3f117d7c06fa34bb8655eaa168f86f9be46
parentRevert "CI: use script instead of Docker task to push images" (diff)
Revert "CI: ditch Docker v2 tasks"
This reverts commit 25fb9bebf815f305e8cd569c5bbe79425b44597d.
-rw-r--r--azure-pipelines.yml72
1 files changed, 40 insertions, 32 deletions
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 4f60a7e..f09dc99 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -15,32 +15,35 @@ jobs:
scriptPath: scripts/check_dockerfiles.sh
# Without a login the following Docker build tasks won't add image tags.
- - task: Docker@1
+ - task: Docker@2
displayName: 'Log into Docker Hub'
inputs:
command: login
- containerregistrytype: 'Container Registry'
- dockerRegistryEndpoint: 'DockerHub'
+ containerRegistry: DockerHubV2
# The venv image depends on this image. Build it if it can't be pulled
# from Docker Hub, which will be the case if the base Dockerfile has had
# changes.
- - script: |
- docker build \
- -f docker/base.Dockerfile \
- -t pythondiscord/snekbox-base:latest \
- .
+ - task: Docker@2
displayName: 'Build Base Image'
condition: and(succeeded(), ne(variables['check.BASE_PULL'], True))
+ inputs:
+ command: build
+ repository: pythondiscord/snekbox-base
+ tags: latest
+ Dockerfile: docker/base.Dockerfile
+ buildContext: .
# The dev image is never pushed and therefore is always built.
- - script: |
- docker build \
- -f docker/venv.Dockerfile \
- -t pythondiscord/snekbox-venv:dev \
- --build-arg DEV=1 \
- .
+ - task: Docker@2
displayName: 'Build Development Image'
+ inputs:
+ command: build
+ repository: pythondiscord/snekbox-venv
+ tags: dev
+ Dockerfile: docker/venv.Dockerfile
+ buildContext: .
+ arguments: --build-arg DEV=1
# The linter and all tests run inside this container.
- script: |
@@ -124,21 +127,16 @@ jobs:
BASE_PULL: $[ coalesce(dependencies.test.outputs['check.BASE_PULL'], False) ]
steps:
- - task: Docker@1
+ - task: Docker@2
displayName: 'Log into Docker Hub'
inputs:
command: login
- containerregistrytype: 'Container Registry'
- dockerRegistryEndpoint: 'DockerHub'
+ containerRegistry: DockerHubV2
# Because this is the base image for the venv image, if the venv needs to
# be built, this base image must also be present. Build it if it has
# changed or can't be pulled from Docker Hub.
- - script: |
- docker build \
- -f docker/base.Dockerfile \
- -t pythondiscord/snekbox-base:latest \
- .
+ - task: Docker@2
displayName: 'Build Base Image'
condition: >
and(
@@ -149,13 +147,15 @@ jobs:
eq(variables.VENV_CHANGED, True)
)
)
+ inputs:
+ command: build
+ repository: pythondiscord/snekbox-base
+ tags: latest
+ Dockerfile: docker/base.Dockerfile
+ buildContext: .
# Also build this image if base has changed - even if this image hasn't.
- - script: |
- docker build \
- -f docker/venv.Dockerfile \
- -t pythondiscord/snekbox-venv:latest \
- .
+ - task: Docker@2
displayName: 'Build Virtual Environment Image'
condition: >
and(
@@ -165,15 +165,23 @@ jobs:
eq(variables.VENV_CHANGED, True)
)
)
+ inputs:
+ command: build
+ repository: pythondiscord/snekbox-venv
+ tags: latest
+ Dockerfile: docker/venv.Dockerfile
+ buildContext: .
# Always build this image unless it's for a pull request.
- - script: |
- docker build \
- -f docker/Dockerfile \
- -t pythondiscord/snekbox:latest \
- .
+ - task: Docker@2
displayName: 'Build Final Image'
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
+ inputs:
+ command: build
+ repository: pythondiscord/snekbox
+ tags: latest
+ Dockerfile: docker/Dockerfile
+ buildContext: .
# Push images only after they've all successfully been built.
# These have the same conditions as the build tasks. However, for safety,