2.2 KiB
Build
The Oryx build image layers on Docker's
buildpack-deps image, itself layered on
Docker's basic debian image.
The build image copies some required platforms from separate intermediate images,
which can be built locally using the build-buildimage-platforms.sh
script.
buildpack-deps
includes development libraries for many common system
packages required at build-time. The following system packages are also added
to the Oryx image. If you require additional packages please open an
issue.
- jq
- libgssapi-krb5-2 (for dotnetcore)
- libicu57 (for dotnetcore)
- liblttng-ust0 (for dotnetcore)
- libstdc++6 (for dotnetcore)
- unixodbc-dev (for MSSQL for Python)
- tk-dev (for Python)
- uuid-dev (for Python)
When building the application, Oryx tries to detect every programming platform being used and for each one that it finds, it adds the corresponding commands to the build script. If the user wants to disable a specific programming platform, there are a set of environment variables that can be set - please refer to Oryx configuration.
For instace, if there is a package.json
file at the root of the repo but it is not in the format expected
by npm, Oryx build will fail since it assumes that having that file in the repo's root means Node is
being used. There's also an option to disable all platforms other than the one specified in oryx build
or in AppService's language selection.
Runtimes have more information on how each platform is detected.
Run
Oryx's run images build on Docker's runtime-specific images for Node.js and Python. A start script generator is included. Packages included for specific runtimes are described in their documentation.
Runtimes and versions supported by Oryx are listed in the main README.