Azure Devops — Создание Приложений .Net Вне Docker?

  • Автор темы Bepoba
  • Обновлено
  • 17, Oct 2024
  • #1

Моя компания использует Azure DevOps и Pipelines для создания, тестирования и развертывания (в настоящее время пакетов NuGet) приложений .Net Framework.

Мой начальник ясно дал понять, что хочет, чтобы мы поместили в контейнеры все наши микросервисы и в какой-то момент начали использовать Kubernetes. В ходе этого процесса мы также будем портировать наши приложения на .Net Core одно за другим.

После того как я создал многоэтапный файл Dockerfile (создание и выполнение, но еще не тестирование) для одного из наших микросервисов, он предложил упростить его, продолжив использовать Pipelines для построить и протестировать приложения, а в более поздней задаче добавьте скомпилированное приложение в контейнер Docker в Azure DevOps. Насколько мне известно, это антипаттерн (возможно, я ошибаюсь), и я понимаю его стремление к простоте.

Это антишаблон или хорошая идея?

#docker #azure-devops #azure #azure-pipelines

Bepoba


Рег
20 Sep, 2015

Тем
56

Постов
173

Баллов
453
  • 25, Oct 2024
  • #2

Я бы сказал, что это антишаблон, поскольку вы теряете переносимость Docker. Теперь вы будете полагаться на конфигурацию сервера сборки, а не на переносимый базовый образ.

Если целью является уменьшение сложности Dockerfile, почему бы не сделать что-то вроде этого:

  1. Создайте основной проект .net в Docker (устраняет зависимость от сервера сборки).
  2. Запустите тесты (внутри или за пределами Docker).
  3. Теперь нажмите образ и запустите его.

По сути, разбейте Dockerfile на три отдельных этапа конвейера. Это приводит к сбою сборки на отдельном этапе. Это также снижает сложность Dockerfile (за счет увеличения сложности вашего конвейера).

 

Ultrich_dk


Рег
18 Oct, 2006

Тем
67

Постов
185

Баллов
540
Похожие темы Дата
Похожие темы
Веб-Сервисы Amazon — Учетные Данные Aws — Каковы Лучшие Практики Управления Пользователями/Ролями В Нескольких Регионах?
Windows – Почему Мой Docker Composer Не Работает С Громкостью?
Конфигурация – Как Настроить Уведомление По Электронной Почте Jenkins Для Некоторых Коммерческих Почтовых Служб?
Как Реализовать Ручной Шаг В Конце Непрерывной Доставки?
Kubernetes — Почему Пользовательский Интерфейс K8S Недоступен При Использовании Rancher?
Возможно Ли Или Распространено Ли Использование Прокси-Сервера Для Обращения К Базе Данных?
Первоначальная Конфигурация: Grafana И Prometheus Внутри Докера, А Затем В Aws.
При Извлечении Образа Windows Docker Из Частного Реестра Docker Пытается Загрузить Некоторые Слои Из Интернета.
Gitlab - Команда Git-P4 Rebase Завершается С Ошибкой При Использовании «Main» В Качестве Ветки Git По Умолчанию
Непрерывная Доставка. Есть Ли Веб-Сайт, Демонстрирующий Популярность Инструментов Ci/Cd?
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно