Определение языка программирования

Если вы используете стратегию сборки исходного кода Source, команда oc new-app определяет используемый язык программирования по наличию определенных файлов в корневом или заданном контекстном каталоге хранилища:

  • Dotnet — project.json, *.csproj.

  • Jee — pom.xml.

  • Nodejs — app.json, package.json.

  • Perl — cpanfile, index.pl.

  • Php — composer.json, index.php.

  • Python — requirements.txt, setup.py.

  • Ruby — Gemfile, Rakefile, config.ru.

  • Scala — build.sbt.

После того, как язык определен, новое приложение осуществляет поиск тегов Image Stream на сервере Опеншифт, которые имеют аннотацию поддержки, соответствующую обнаруженному языку, или объекты Image Stream, которые соответствуют названию обнаруженного языка. Если совпадение не найдено, команда oc new-app ищет в реестре Docker Hub образ, соответствующий обнаруженному языку на базе его имени.

Переопределить образ, который компоновщик использует для исходного репозитория, можно указав образ и спецификацию Image Stream или контейнера, и репозиторий с оператором ~ в качестве разделителя.

Внимание

Если образ переопределен, обнаружение стратегии сборки и определение языка не выполняются.

Например, чтобы использовать myproject / my-ruby imagestream с источником в удаленном хранилище:

oc new-app
myproject/my-ruby~https://github.com/openshift/ruby-hello-world.git

Чтобы использовать контейнер \openshift / ruby-20-centos7: latest\`imagestream с источником в локальном репозитории:

oc new-app
openshift/ruby-20-centos7:latest~/home/user/code/my-ruby-app