Сборка Team Services CI с размещенным агентом VS2017 не поддерживает Docker Project версии 2.0 - PullRequest
0 голосов
/ 02 июля 2018

Проект ASP.NET Core 2 с поддержкой докеров, добавленный в VS 2017, работает нормально локально, но сборка завершается неудачно в сборке VSTS со следующей ошибкой:

2018-06-29T16: 07: 50.4095117Z ## [ошибка] C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ Sdks \ Microsoft.Docker.Sdk \ build \ Microsoft.VisualStudio .Docker.Compose.targets (151,5): Ошибка: версия проекта 2.0 не поддерживается текущими инструментами Visual Studio для контейнеров.

Я пытаюсь встроить Team Services и перейти к службе приложений для контейнеров в Azure.

содержимое docker-compose.dcproj:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" Sdk="Microsoft.Docker.Sdk">
    <PropertyGroup Label="Globals">
    <ProjectVersion>2.0</ProjectVersion>
    <DockerTargetOS>Linux</DockerTargetOS>
    <ProjectGuid>cc9f4ebc-dd9f-4592-9533-b4954b467670</ProjectGuid>
    <DockerLaunchAction>LaunchBrowser</DockerLaunchAction>
    <DockerServiceUrl>http://localhost:{ServicePort}</DockerServiceUrl>
    <DockerServiceName>status</DockerServiceName>
  </PropertyGroup>
  <ItemGroup>
      <None Include="docker-compose.override.yml">
      <DependentUpon>docker-compose.yml</DependentUpon>
    </None>
    <None Include="docker-compose.yml" />
     <None Include=".dockerignore" />
   </ItemGroup>

1 Ответ

0 голосов
/ 04 июля 2018

Поскольку вы используете агент Hosted VS2017, на нем установлен только VS2017, и можно использовать только контейнер Windows для докера. Поэтому внесите следующие изменения (например, в общий проект):

  1. Изменить docker-compose.dcproj файл

    • Изменить ProjectVersion с 2.0 на 2.1
    • Изменить DockerTargetOS с Linux на Windows
  2. Изменение docker-compose.yml и docker-compose.override.yml файл

    • Изменить версию с 3 на 3.4

Тогда проект может успешно завершиться агентом Hosted VS2017. И это модифицированный проект на основе вашего общего доступа.

Кстати: вы также можете использовать частного агента для создания вашего проекта. Если вы можете построить успешную локально, то использование частного агента может в основном успешно построить проект с помощью сборки VSTS.

...