Unknown Technology

When pushing your app to Scalingo, you might get the following error:

<-- Start deployment of [my-app] -->
 !     We didn't find the type of technology your are using...
       We're sorry this build is failing!
       
       Refer to the documentation to find out why:
       http://doc.scalingo.com/deployment/unknown-technology
       
       If you can't find the issue in your application,
       please send us an email at support@scalingo.com

       <3,
       Scalingo
 !   Error deploying the application
 !   → Invalid return code from buildpack

Solutions

Project in a subdirectory of the git repository

If the project you want to deploy is not at the root of your GIT repository, you need to define the PROJECT_DIR environment variable (see documentation).

Technology detection

To do so, we are iterating over technologies alphabetically.

That means that if your project contains multiple technologies, we will pick the first one detected.

If you want to force the detection page to a specific buildpack to use by adding the environment variable BUILDPACK_NAME to your project.

If you want to have all the technologies detected (needed for your build to be successful for example), you can use the multi-buildpack.

You can also develop your own buildpack and add the environment variable BUILDPACK_URL to have complete control on the detection and build phases.

More information on buildpacks or multi-buildpacks

See how we detect your technology:

Ruby

A Gemfile should be present at the root of your repository.

Node.js

The file package.json should be present at the root of the project.

Meteor

The directory .meteor should be present at the root of your project.

PHP

You need to have either an index.php file or both composer.json + composer.lock files at the root of your project.

Python

The file requirements.txt and setup.py should be present at the root of your project.

Java

The file pom.xml should be present at the root of your project.

Scala

You need to have at least an *.sbt file or a project/*.scala/.sbt/*.scala file or a project/build.properties file.

Groovy

The file grails-app must be at the root of your project.

Clojure

The file project.clj must be at the root of your project.

Go

You need to have at least one *.go file at the root of your project. Then, we detect the Go language and install any dependency with your Godeps directory (see more about Godeps).

Haskell

A file *.cabal must be at the root of your project.

Erlang

You need to have either a rebar.config file or a ‘ebin` file at the root of your project.

schedule 03 Nov 2015