#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 /…