В основном у меня есть док-контейнер с установленными инструментами MSBuild и агент Vsts. Сборка док-контейнера занимает много времени из-за установки Visual Studio. (45 минут на локальной машине)
В DevOps Azure я создал конвейер, который использует этот образ для запуска, построения и развертывания наших приложений. После завершения сборки он должен остановить контейнер до следующего запроса.
Я думал, что использование ACI сделает мой текущий локальный сервер сборки устаревшим, потому что я считаю несколько глупым иметь полноценный сервер Windows для запуска на нем докера с контейнерами, на которых также работает полноценный сервер Windows.
Либо я что-то пропустил, либо запускаю msbuild, и агент на физическом сервере побеждает цель всего решения для докера.
С другой стороны, удаление этого физического сервера и замена его ACI должны помочь. Запуск и остановка этого контейнера с помощью Azure Cli может быть выполнена с помощью Azure Devops. Единственная проблема здесь заключается в том, что экземпляр контейнера не имеет состояния, что имеет неприятный побочный эффект, тянущий изображение при каждом запуске экземпляра, что занимает полчаса. Поддерживать работу экземпляра не нужно из-за затрат.
Если бы при каждом перезапуске кэшировалось и использовалось только извлеченное изображение, это было бы наилучшим решением, но, к сожалению, это не так.
Я что-то пропустил на предварительном следствии или сделал какие-то неправильные предположения?