.NET Projects Deployment

Microsoft_.NET_Logo.svg.pngAny application, regardless of the programming language it is written in, requires a series of similar steps for being hosted. This instruction is devoted to the specifics of .NET projects’ deployment and running inside the Jelastic Cloud.

Although .NET projects currently cannot be imported from the GIT/SVN remote repositories due to the beta hosting stage, below we’ll examine a way of immediate direct deployment from the most popular .NET development IDE - Microsoft Visual Studio, as well as the process of local archive creation for manual deployment.

So, log into your Jelastic account and let’s get started.

Create an Environment

The first thing you need to do is to create a new environment with the mandatory IIS8 application server (can be found at the .NET wizard tab) and any other necessary instances (e.g., if your app needs a database to work with, add the MSSQL 2012 node too).

The availability of the .NET programming language tab at your topology wizard depends on your hosting provider's settings.

Do not forget to define the amount of available resources for the chosen nodes and specify the name for your environment (e.g. dotnet-app). Hit the Create button when you’re done.

The process of creation may take several minutes, after which you’ll see your new environment at the dashboard.

All Windows-based nodes can be managed through the in-built Server Manager and other specific configuration tools, available at a particular node’s remote desktop. To access it, you need to connect to the required node via RDP.

Create and Deploy .NET Package

The most common tool for .NET projects’ creation is Microsoft Visual Studio - an integrated development environment (IDE) from Microsoft. And with the help of its embedded Web Deploy option, the process of web-services’ and applications’ deployment becomes fairly easy.

To access the abovementioned option, just right-click on the ready-to-go project in your Visual Studio and select the Publish item in the appeared context menu.

You’ll see the Publish Web dialog opened. Now, depending on your preferences, you can either automatically deploy your project directly inside the previously created cloud environment or export your project’s archive, to deploy it via the Jelastic dashboard manually. So, choose one of the following:


Direct Deployment

The fastest and easiest way to get your .NET project hosted at Jelastic Cloud is to deploy it directly to your IIS server from the Visual Studio. For that, you need to perform the steps below:

1. In the appeared window, select the profile with Web Deploy publish method (if you have such an option) or create a new one (e.g. Direct Deploy) and choose it in the same-named drop-down list at the Connection tab.

Then, you’ll need to fill in the fields below with the required data:

where:

  • Server - HTTPS link from the Publish info list of your IIS server node at the dashboard (https://wingate.jelastic.com:50018 in our case):

Important: DO NOT confuse the link, shown in the image above, with the RDP URL you’ve received via email, which is almost the same (except of the port number at the end), but should be used for remote desktop access, rather than for publishing projects.
  • Site name - state the Default Web Site/{your_app_name} line here. Note that the {your_app_name} string should be substituted with a context for your app to be accessed through (e.g. myapp).
  • User name and Password - the RDP credentials for IIS server you’ve received via email. Also, you can tick the Save password checkbox to enable the corresponding option.
  • Destination URL - optional field, where you can specify a link, that should be automatically opened in a browser after publishing completion to view the results of deployment. So, if it’s required, use the following link format:

    http://{environment_hostname}/{your_app_name}

    Here, the {environment_hostname} string should be substituted with the corresponding hostname (can be seen under the environment’s name at the dashboard) and the {your_app_name} one - with the same context you’ve specified above. In our case, the whole URL will look like http://dotnet-app.jelastic.com/myapp.

2. Once all the required fields are filled in, click the Validate connection button below the form to check whether you can connect to your server with the specified data. If everything above is perfect, a green tick will appear next to the mentioned button.  

Otherwise, you’ll get the corresponding error message with a link to the possible solutions.

You may receive the following warning during the validation process or project publishing, which notifies you that the used security certificate is not trusted:

To proceed further, select the Accept button. Optionally, tick the Save this certificate for future session of Visual Studio checkbox to ensure that you won’t get this message in the future while establishing the connection to the same server again.

3. After the successful connection validation, you can switch to the remaining tabs using the Next button, where some other settings (e.g. database parameters) can be specified. In case you don’t need any specific changes, just hit Publish.


Once the required processes are finished, you will either see your application opened in a browser (if the required Destination URL has been defined) or can access it through selecting the Open in browser icon next to your environment and specifying the required context at the end of the opened URL:

Note that you won’t see any information about application deployment at your dashboard, while its files can be accessed through the Config manager of your application server, within the C/inetpub/wwwroot directory, inside the folder named after the used context (myapp for our case):


Package for Manual Deployment Creation

If you’d like to manage your deployments through the Jelastic dashboard and experience the benefits of cloud storage, you can get the portable archive with your packaged application and upload it to the Jelastic Deployment Manager, where it will available for the deployment at any time and without any additional software requirements. So, perform the following operations:

1. Inside the opened Publish Web window, select the profile with Web Deploy publish method (if you have such an option) or create a new one (e.g. Web Package) and choose it in the same-named drop-down list at the Connection tab.

Herein you also need to specify two more options:

  • Package location - name of the .zip package with your application and path to the local folder it will be created in
  • Site name - this field can be left blank or filled in with the Default Web Site line. Since Jelastic has it’s own embedded contexts’ management mechanism, you’ll need to specify the required context (i.e. name of your app) later.

Then, you can switch to other available tabs with additional configurations (if needed) by means of the Next button or just click on Publish to initiate the exporting.

2. After that, Web Deploy will wrap up your Visual Studio project into a single .zip archive with all the relevant files and configurations, which can be easily deployed to the target environment with the IIS as an application server.

3. Now, when you have an application package, you can upload and deploy it in just the same way as any other archive. We’ll remind you of the workflow:

  • Click Upload in the Deployment manager tab at your dashboard.

  • Choose your local file (with the 150 MB size restriction) through the Browse menu or specify the URL to it (http://, https:// or ftp://) in the same-named tab and click on Upload.

  • Once the file is successfully added to the Deployment Manager, you can choose an environment it should be deployed to, by means of the corresponding drop-down list.

In the appeared confirmation frame you need to specify the required context name (i.e. name of your application, for example, my-context) and hit Deploy.

Note: If you try to leave the context field blank in order to use the default ROOT one, you’ll be shown the following notification:

We advise not to use the default root context unless you know precisely what you are doing, as this will cause the following inconveniences:

  • the default welcome page of your server will be overwritten with the current app
  • any other applications installed (even with different context names) will be erased
  • upon such a project’s deletion, all the other data, including any other deployed projects (even ones added after this app’s installation), will be removed as well, leaving your environment without any default welcome page

4. After the installation process is finished, you’ll get an environment, that is similar to the one below:

In order to ensure everything went well, click the Open in browser button next to it and add the /{context} suffix (where {context} - the one you’ve specified before the deployment) at the end of the opened page’s URL.

As a result, you’ll see the corresponding application opened.

That’s it! We hope that this instruction was helpful for you.