Azure Шаг работы DevOps с контейнерами - PullRequest
0 голосов
/ 19 марта 2020

Можно ли настроить несколько шагов и загрузить контейнер из предыдущего шага, чтобы вам не приходилось снова создавать контейнер?

Текущий сценарий:

steps

Итак, на этапе публикации sh я хочу только загрузить предварительно собранный контейнер с этапа сборки, чтобы я мог загрузить соответствующий реестр контейнера.

Почему? Потому что конвейер срабатывает во время запроса на извлечение, даже когда триггеры установлены как:

trigger:
- master
- release/*

Я представляю что-то вроде этого:

jobs:
  - job: build_and_tests
    steps:
      - script: docker build --no-cache -t {...}
        displayName: 'Building dockerfile'
    ...
    ...
    ...
    # upload docker **container** to artifacts?

  - job: build_and_publish
    dependsOn: build_and_tests
    condition: and(succeeded(), or(eq(variables['Build.SourceBranch'], 'refs/heads/master'), startsWith(variables['Build.SourceBranch'], 'refs/heads/release/')) )
    steps:
    #  - download: download the docker **container** from previous job step?

      - script: docker login -u $(registryUser) -p $(registryPassword) $(registryName)
        displayName: 'Login to ACR'
     ...
     ...
     ...

Знак # поражает мое воображение :) Любые идеи

1 Ответ

2 голосов
/ 20 марта 2020

загрузить dockerfile в артефакты? download: загрузить dockerfile с предыдущего шага работы?

Согласно описанию, если реализованы только эти два воображения, вы можете добавить задачи copy file и Publish build artifacts к первой работе для загрузки Dockerfile для артефакта. Затем загрузите файл dockerfile с помощью задачи Download build artifacts во втором задании.

Ниже приведены ссылки на следующие задачи:

...