Правильный образ dotnet core SDK для сборки этого приложения 2.1.300?

#docker #.net-core #openshift #s2i

#docker #.net-core #openshift #s2i

Вопрос:

У меня есть приложение Visual Studio, которое мы хотели бы собрать и развернуть с помощью OpenShift, и мы уже успешно выполнили сборку вручную, указав на репозиторий github, содержащий исходные тексты. Насколько я понимаю, это означает, что OpenShift использует s2i для обработки содержимого репозитория и создания образа docker, который мы затем можем развернуть. Это работает!

Мне нужно автоматизировать это, и я не знаком с .СЕТЕВАЯ экосистема, поэтому сначала я хотел бы воспроизвести текущее поведение. Ранее мне удавалось создавать с помощью подходящего образа SDK, но эта работа была случайно утеряна, а Redhat действительно хочет использовать s2i, поэтому именно на это я сейчас смотрю. Если другой подход лучше, я очень открыт для этого.

Насколько я понимаю, это означает, что нам нужно найти подходящий образ Linux dotnetcore SDK для его сборки. Руководство в первую очередь относится к изображениям Redhat (для которых требуется действующая подписка), но также относится к registry.centos.org/dotnet/dotnet-21-centos7:latest , которые я затем пытался использовать.

Полная команда сборки на данный момент:

 s2i build --loglevel 4 https://github.com/.... --context-dir=TPCIP.Web --ref=develop registry.centos.org/dotnet/dotnet-21-centos7:latest tpcip
  

Который корректно проверяет удаленный репозиторий в ветке разработки, но затем завершается сбоем с:

 I0304 17:01:50.142784   17028 sti.go:711] ---> Installing application source...
I0304 17:01:50.154784   17028 sti.go:715] A compatible SDK version for global.json version: [2.1.300] from [/opt/app-root/global.json] was not found
I0304 17:01:50.154784   17028 sti.go:715] Did you mean to run dotnet SDK commands? Please install dotnet SDK from:
I0304 17:01:50.154784   17028 sti.go:715]   https://go.microsoft.com/fwlink/?LinkID=798306amp;clcid=0x409
  

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


РЕДАКТИРОВАТЬ: Заглянув внутрь, я увидел:

 bash-4.2$ dotnet --list-sdks
2.1.503 [/opt/rh/rh-dotnet21/root/usr/lib64/dotnet/sdk]
bash-4.2$ exit
  

Значит, оно слишком новое?

Комментарии:

1. Ошибка, которую вы получаете, является известной ошибкой, которую мы пытаемся исправить прямо сейчас: github.com/redhat-developer/s2i-dotnetcore/issues/263 . Попробуйте добавить -e DOTNET_SDK_BASE_VERSION=2.1.500 в команду s2i, чтобы все заработало на данный момент.

2. @omajid Похоже, что это решает эту проблему. У меня все еще есть проблемы с нашим корпоративным прокси, но это другой вопрос. Если вы напишете полный ответ, я приму его.

3. Посмотрите на переменные прокси, описанные здесь: github.com/redhat-developer/s2i-dotnetcore/tree/master/2.1 /…