CHAPTER 2. APPLICATION LIFE CYCLE MANAGEMENT If a Jenkins file exists in the root or specified context directory of the source repository when creating a new application, OpenShift Container Platform generates a pipeline build strategy. Otherwise, it generates a source build strategy. Override the build strategy by setting the  --strategy  flag to either  pipeline  or  source . $ oc new-app /home/user/code/myapp --strategy=docker The  oc  command requires that files containing build sources are available in a remote Git repository. For all source builds, you must use  git remote -v . If you use the source build strategy,  new-app  attempts to determine the language builder to use by the presence of certain files in the root or specified context directory of the repository: After a language is detected,  new-app  searches the OpenShift Container Platform server for image stream tags that have a  supports  annotation matching the detected language, or an image stream that matches the name of the detected language. If a match is not found,  new-app  searches the  Docker Hub registry  for an image that matches the detected language based on name. You can override the image the builder uses for a particular source repository by specifying the image, either an image stream or container specification, and the repository with a  ~  as a separator. Note that if this is done, build strategy detection and language detection are not carried out. For example, to use the  myproject/my-ruby  imagestream with the source in a remote repository: 23 Language Files 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 golang Godeps ,  main.go 2.3.1.4. Language detection NOTE Table 2.1. Languages detected by  new-app