Окружение разработчика пропускает

Ищу причину, по которой DEV Environment не запускается сразу после этапа тестирования. Общее правило таково: у меня есть два конвейера: первый выполняет только тестирование, затем запускает второй конвейер, который должен выполнить фактическое развертывание с использованием Terraform в среде разработки. Первая часть работает, т. е. первый конвейер корректно запускает второй, но запущенный не запускает среду разработки.

конвейер.yaml

name: MySource
resources:
  repositories:
    - repository: Library
      ref: test/pipeline    
trigger:
  batch: true
  branches:
    include:
      - test/pipeline
parameters:
  - name: pipelineMode
    displayName: Pipeline Mode
    type: string
    default: main
    values:
      - auto
      - feature
      - main
      - release

# rest of the code goes here

Это должно вызвать следующее:

зависимый_pipeline.yaml

trigger: none

resources:
  repositories:
    - repository: Library
      ref: test/pipeline
  pipelines:
    - pipeline: test-triggered
      project: DEV
      source: 'library'
      trigger:
        branches:
          include:
            - test/pipeline
parameters:
  - name: pipelineMode
    displayName: Pipeline Mode
    type: string
    default: main
    values:
      - auto
      - feature
      - main
      - release
extends:
  template: main-pipeline.yml
  parameters:
    devEnv: dev
    devVar: dev_variables.yml
    deployEnvTemp: deploy.yml
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
119
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Взглянув на ваш код, я вижу несколько проблем в dependant_pipeline.yaml:

  • Не хватает нескольких параметров: devEnvironment, devVariables, deployEnvironmentTemplate и deployParameters.

  • Вы забыли передать параметр pipelineMode в /templates/build.yml

Руи, можем ли мы перейти в чат? У меня есть много шаблонов, которые могут быть запутаны для объяснения, и некоторые из них мне все равно придется вырезать.

Kreg 29.06.2024 12:20

@Kreg Я предлагаю вам исправить некоторые из упомянутых мной проблем, а затем создать минимальный воспроизводимый пример для решения проблем, которые вы обнаружите по одной. Без обид, но я не хочу тратить часы, пытаясь выяснить, что не так в таком количестве шаблонов, особенно зная, что в некоторых случаях вы не показываете все шаблоны.

Rui Jarimba 29.06.2024 12:30

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

Kreg 29.06.2024 15:02

@Крег, тебе все еще нужно исправить проблемы, которые я упомянул, например. передайте параметр pipelineMode в /templates/options.yml.

Rui Jarimba 29.06.2024 16:18

Я добавил изменения на основе вашего комментария (если я правильно понял), однако Dev env. пропускает. Я отредактировал основной вопрос, добавив свои изменения внизу.

Kreg 29.06.2024 16:48

@Kreg Я до сих пор не понимаю, где находятся переменные, которые я упомянул в своем ответе.

Rui Jarimba 30.06.2024 07:59

Эти изменения находятся в файле main-pipeline.yaml, я его тоже добавил.

Kreg 30.06.2024 20:37

Я сам теряюсь :( уже несколько дней никакого прогресса. Я отредактировал свой основной вопрос.

Kreg 01.07.2024 11:34

При указании среды в задании развертывания в конвейере YAML не указывайте только имя среды. Если вы укажете только имя среды, конвейер не будет использовать ресурсы, добавленные в среду, для задания развертывания.

Чтобы задание развертывания могло использовать ресурсы в указанной среде, вы можете выполнить любую из следующих конфигураций:

  1. Укажите тип ресурса, используя клавишу «resourceType». Например, в приведенном ниже примере при развертывании будут использоваться все ресурсы типа виртуальной машины из указанной среды. Он создаст задание развертывания для каждого ресурса типа виртуальной машины.

    jobs:
    - deployment: deployB
      environment:
        name: ${{ variables.myEnv }}
        resourceType: virtualMachine
    

  2. Вы также можете использовать клавишу «resourceName», чтобы настроить развертывание только на использование определенного ресурса. Например, в приведенном ниже примере при развертывании будет использоваться только ресурс «Ubuntu2204-01» из указанной среды. Он создаст только одно задание развертывания для указанного ресурса.

    jobs:
    - deployment: deployB
      environment:
        name: ${{ variables.myEnv }}
        resourceName: Ubuntu2204-01
    

Спасибо также Брайту за ваше время и поддержку. Проблема заключалась в передаче параметра PipelineMode. Теперь это работает.

Kreg 01.07.2024 21:34

Другие вопросы по теме