Deploy .NET Core projects from GitLab, GitHub or BitBucket repository.

In addition to deployment via Git, NodeChef also supports deploying .NET Core projects by uploading from the dashboard or using the NodeChef CLI. See the menu on your left hand side on how to deploy by uploading your project folder from the dashboard.

NodeChef cloud supports deploying your .NET Core projects together with a MongoDB, MySQL or PostgreSQL database if required with a few clicks. We automatically build your project and run it in Docker containers on bare metal servers for the best performance.

More details on NodeChef .NET Core cloud hosting and what features are supported.

We support integrations with GitLab, GitHub or BitBucket making it easy to deploy code living in your repository to your app containers running on NodeChef.

To deploy, follow the below three steps and your .NET Core project will be up and running in the cloud in no time. After deployment, you can proceed to add your custom domain.

Notes on .NET Core projects deployment

NodeChef automatically detects your project as .NET Core when the *.csproj or *.fsproj is found in the root directory of the project. Also you can deploy the output directory of the dotnet publish command

For Asp.NET Core apps, there is no need to hardcode the URL in the app, NodeChef automatically starts your app with the option --server.urls http://0.0.0.0:$PORT. The value of port is dynamic at runtime and NodeChef supplies this value. We also set the environment variable ASPNETCORE_URLS which is the same value that is passed to the --server.urls parameter.

Your first build runs slower than subsequent builds as NodeChef caches dependencies between builds.

Below is an example main method

public static void Main(string[] args) { var config = new ConfigurationBuilder() .AddCommandLine(args) .Build(); var host = new WebHostBuilder() .UseKestrel() .UseConfiguration(config) .UseContentRoot(Directory.GetCurrentDirectory()) .UseStartup() .Build(); host.Run(); }

We support the latest versions of the .NET framework and and SDK versions. You can find the supported versions here from the buildpack release notes.

Add Custom Libraries

If your app requires external shared libraries that are not provided by the rootfs or the buildpack, you must place the libraries in an ld_library_path directory at the project root.


Deploy Apps with Multiple Projects

If your solution contains multiple projects, you must specify which of your projects is the main one. You can do so by creating a .deployment file in the root directory. You can then use the below example to specify the path to the .csproj or .fsproj of the main project.

[config] project = src/MyApp.Web/MyApp.Web.csproj