Задача Pulumi Azure Pipeline

Я новичок в Pulumi, поэтому сейчас я изо всех сил пытаюсь запустить его в моем конвейере выпуска Azure, чтобы создать свою инфраструктуру. Во время разработки я использовал локальное хранилище для хранения своего состояния Pulumi (pulumi login --local), я создал свои стеки (один из них - dev), и я смог легко протестировать свой сценарий развертывания в соответствии с моей подпиской на Azure. Теперь я отправил свой код в систему управления версиями, созданную конвейером сборки (который работает), и я пытаюсь создать свою инфраструктуру из конвейера выпуска с помощью задачи Pulumi Azure Pipelines. Мне удалось настроить его для использования хранилища BLOB-объектов для файла состояния, но при запуске pulumi up --yes --skip-preview для стека разработчика я получаю сообщение об ошибке, что стек разработчика не существует.

Нужно ли мне делать pulumi stack init dev в каждом "магазине", который я использую? Разве недостаточно файлов Pulumi.stack_name.yaml?

Любые советы о том, как действовать, приветствуются, поскольку документация по этому поводу отсутствует или неясна.

Спасибо!


person AndreiC    schedule 14.04.2020    source источник


Ответы (1)


Ошибка, вероятно, вызвана тем, что стек не существует в вашем хранилище BLOB-объектов.

Если вы используете pulumi login --local. Стек будет управляться на вашем локальном компьютере и не будет синхронизироваться с хранилищем BLOB-объектов Azure. Дополнительные параметры входа см. здесь.

В моем тестовом конвейере. Я получил ошибку: не найден стек с именем «dev». Если разработчика нет на app.pulumi.com. Если я создал разработчика на app.pulumi.com (я использую pulumi.com для хранения), он работал должным образом.

Поэтому перейдите в Azure blob, чтобы проверить, существует ли стек разработчика. Вам необходимо создать его в лазурном BLOB-объекте для вашей учетной записи, если он не существует.

Если вы хотите перенести локальные конечные точки на Azure blob. Пожалуйста, проверьте шаги здесь.

Когда стек существует в вашей лазурной капле. Вы можете запустить pulumi up --yes --skip-preview прямо в задаче pulumi в лазурном DevOpline. run pulumi stack init dev Не нужно run pulumi stack init dev. Убедитесь, что аргументы входа пусты, чтобы использовать онлайн-стек. Если вы укажете --local, вы также получите сообщение об ошибке, так как стек не существует на машине агента.

введите здесь описание изображения

Вы также можете включить параметр Create the stack if it does not exist, чтобы позволить задаче pulumi создать стек, если он не найден в вашем лазурном большом двоичном объекте.

введите здесь описание изображения

Вот пример из Pulumi официальные документы для интеграции с лазурным DevOps. Надеюсь, это поможет!

person Levi Lu-MSFT    schedule 15.04.2020
comment
Хорошо ... так что очевидно, что флажок Создать стек, если он не существует, недостаточно велик: D Я только что проверил его, и задача выполнилась как шарм :) (ps: я не хочу использовать app. pulumi.com, и я упомянул, что настроил задачу для выполнения pulumi login azblob://mycontainer - вероятно, не сделал это очевидным). Большое спасибо за помощь! - person AndreiC; 15.04.2020
comment
Привет, @AndreiC Рад, что могу помочь. Вы можете это принять? если вы думаете, что приведенное выше решение может служить ответом. Заранее спасибо! - person Levi Lu-MSFT; 16.04.2020