This lab will step through integrating Octopus deployments into Azure and as well as your deployment pipelines in Visual Studio Team services (VSTS)

DevOps MPP Course Source

Pre-requisites:

  • a Visual Studio team services (VSTS) account
  • an Azure Subscription
  • Visual Studio

Lab Tasks:

In this lab you will Install and Configure Octopus Deploy Server using VSTS and Deploy a Web App to Azure App Service Web App.

  • Task 1: Install Octopus Deploy on an Azure virtual machine using Azure Portal
  • Task 2: Install Octopus Deploy extension in VSTS account
  • Task 3: Configure Octopus Deploy Connected Service as VSTS Service Endpoint
  • Task 4: Create a Simple Application and push Code to VSTS
  • Task 5: Configure Octupus Deploy Build Integration Tasks in VSTS
  • Task 6: Create a Web App and Service Principal in Azure for deployment
  • Task 7: Create Deployment Environments
  • Task 8: Create an Octopus Deploy Project and configure variable replacement
  • Task 9: Create a Release and Deploy

Estimated Lab Time:

  • approx. 90 minutes

Task 1: Install Octopus Deploy on an Azure virtual machine using Azure Portal

Octopus Deploy can be installed either on premises or the cloud. All that is needed is a Windows Server machine and a Microsoft SQL Server (Express edition supported) or a Microsoft Azure SQL Database.

See Minimum requirements and SQL Server requirements.

We can install everything manually, or we can use an Azure Virtual machine template that installs an Octopus Deploy Server with just a few clicks (including setting up a trial, which after 45 days downgrades automatically to Octopus Deploy community edition).

  1. Log on to Azure Portal and click + Create a Resource and enter Octopus in the search box:

    Screenshot of the Azure Portal. In the left pane, the New button is circled. In the right, New pane, Octopus is typed into the search field, resulting in a search result of Octopus Deploy.

  2. Click on enter, and on the Filter blade, select Octopus Deploy Template and then select Octopus Deploy template:

    Screenshot of the Filter blade, Everything section. Under Filter, in Octopus is typed in the search field. Under Results, Octopus Deploy is selected.

  3. A new blade will open with the description of the Octopus Deploy template:

    Screenshot of the Octopus Deploy blade, with a description of the Octopus Deploy template.

  4. Take a few minutes to read the description and follow the links to learn more about Octopus Deploy.

  5. Click on the Create button and configure the settings for the virtual machine:

    • Configure the Resource Group (we recommend a group on its own)
    • Give the machine a name (it will be accessible on the internet under this name)
    • Assign a password to octoadmin user (or choose a new user name). This can be used to remote desktop to the machine
    • Select virtual machine size (this will have impact on costs)
    • Assign a password for sqladmin user
    • Assign Octopus Deploy Administrator password
    • Enter your name, your organization name, and your email address (you will be emailed the trial license just in case)

    After filling all required fields, validate the entered data and click OK.

  6. Read the terms of use and privacy policy [1] for the virtual machine.

  7. When you are ready to purchase the virtual machine, click on Purchase button [2].

    Screenshot of the Azure Portal. In the Create Octopus Deploy pane, step 5: Buy is selected. In the Purchase pane, The Terms of use privacy policy hyperlink is circled, and marked with a 1. At the bottom, the Purchase button is circled and marked with a 2.

  8. Deployment of the Virtual Machine will start and will take a few minutes.

    While the Virtual Machine deploys you can take a few moments to see how to install Octopus Deploy had we not used a Virtual Machine Template.

    When deployment finishes, you will see a notification in the portal notification area:

    Screenshot of the Notifications section, where a Deployment succeeded message displays.

  9. If you access the resource group where you have created the virtual machine, you can see all created resources provisioned by the template (virtual machine, SQL Azure database, public IP, storage account, etc.)

    Screenshot of available resources.

  10. We are now ready to login on Octopus Deploy by opening our favorite browser and pointing to the fully qualified domain name that you have created.

    If you don’t remember the name you have assigned to your virtual machine, access the VM on Azure portal and check its details: Screenshot of the Essentials section details for Octopus vm.

  11. After entering your fully qualified domain name on the browser (in our case, it is http://octopuswalkthrough.centralus.cloudapp.azure.com), the login page will appear after a few seconds:

    Screenshot of the Octopus sign-in page.

Congratulations. You are now ready to start using Octopus Deploy.

If you want, you can log in (admin if you haven’t changed the default username) to take a peek at Octopus Deploy.

Task 2: Install Octopus Deploy extension in VSTS account

Octopus can deploy software in multiple formats: packages NuGet, which can be created using OctoPack, ZIP files, and other formats.

Learn more about packaging applications.

Octopus Deploy supports multiple build automation solutions (Visual Studio Team Services, Jenkins, TeamCity, Bamboo, etc.) or manual builds.

In this exercise, we are going to use Visual Studio Team Service (VSTS) to host the source code and to build the package that Octopus is going to deploy.

We assume you already have a VSTS account (with administration privileges). If you don’t have one, learn how to sign up for a free VSTS account.

Installing the extension

We are now going to set up Octopus Deploy Integration extension from Visual Studio Marketplace to quickly package and push applications from Team Build to Octopus Deploy.

  1. Open Octopus Deploy Integration on your favorite browser and click on the Install button,

    Screenshot of the Visual Studio Marketplace, Octopus Deploy Integration section. The Install button is circled.

  2. Select the account you want to install by clicking on the Continue button and then on Confirm.

The extension is now installed and ready to be used.

Task 3: Configure Octopus Deploy Connected Service as VSTS Service Endpoint

We are now going to set an Octopus Deploy connected service to allow builds to connect to Octopus.

Generate an Octopus Deploy API key

First, we need to login to Octopus and create an API key with all the required permissions for the operations we need to perform.

  1. Login to Octopus Deploy portal and create an API key.

  2. Expand the Admin profile, select the Profile entry,

    Screenshot of the Admin sub-menu, with three options: Profile, Change password, and Sign out.

  3. click on the API keys tab, and click on New API key.

  4. Enter the purpose of this team (e.g., VSTS team build),

    Screenshot of the Generate new API key pop-up.

    and click on Generate new:

    Screenshot of the Generate new API key pop-up. This time, the new API key displays.

  5. Copy the key to a safe place since it cannot be retrieved (you can generate a new one though).

We need an API Key for a user that has sufficient permissions for the tasks we want to perform in our build and release process (e.g., create releases on the projects we want to deploy to). Since we have used the admin user, we are all good.

Generating an API key is described in the Octopus official documentation.

  1. lets configure VSTS Connected Service now. Access the Team project we have created previously in VSTS, hover over the cog [1] and then select the Services entry [2]:

    Screenshot of the OctopusWalkthrough section. On the top menu, on the right, a cog is marked with a 1. From the cog’s drop-down menu, Services is circled and marked with a 2.

  2. Click on + New Service Endpoint [1] and select Octopus Deploy [2]:

    Screenshot of the Endpoints section. The New Service Endpoint is selected and marked with 1. The Octopus Deploy is selected and marked with 2.

  3. Enter a name, the server URL, and the API key obtained previously and click the OK button [1].

    Screenshot of the Add new Octopus Deploy Connection window. The Name, Server URL, and API key fields are populated, and the OK button is marked with a 1.

    We are now ready to configure the build.

  4. Let’s go back to the team project by clicking on the team project name [1] and then clicking on Team Project Home [2]:

    Screenshot of the OctopusWalkthrough team project link marked with a 1, and the Octopus Walkthrough Home link marked with a 2.

Task 4: Create a Simple Application and push Code to VSTS

We are going to create a simple ASP.NET using Visual Studio 2017; it is enough for our purpose. But first, we are going create a new team project to hold our application.

  1. On the VSTS landing page, we are going to click on the New Project button.

    Screenshot of the VSTS landing page, Projects tab. On the right, the New Project button circled.

  2. We are going to name it OctopusWalkthrough [1], select Git in Version control [2], and click on the Create button [3].

    Screenshot of the VSTS landing page, Projects tab. The Create new project fields display. The Project name field is marked with a 1, and is set to OctopusWalkthrough. The Version control field is marked with a 2, and is set to Git. At the bottom, the Create button is marked with a 3.

    It will take a moment.

  3. We are now going to create a simple ASP.NET project and then push the source code to the Git repository on VSTS using Visual Studio.

  4. First, make sure we are connected to our Team Project. On Team Menu, select Manage Connections.

    Screenshot of the Microsoft Visual Studio menu bar. The Team tab, and under it, Manage Connections is selected and circled.

  5. On Team Explorer click on Manage Connections and then click on Connect to Project.

    Screenshot of the Microsoft Visual Studio Team Explorer – Connect window. Under Connect, the Manage Connections drop-down list is expanded, and Connect to Project is selected and circled.

  6. A Connect to a Project window will open (enter account and credentials if asked). If you have never connected to the account, click on the Add TFS Server link and enter the URL of your account [2] and click on Add [3]:

    Screenshot of two Connect to a Project windows. In the first window, the Add TFS Server link is marked with a one. In the second Connect to a Project window, the Enter server URL field is marked with a 2.

  7. Expand your account, select OctopusWalkthrough team project and click Connect:

    Screenshot of a Connect to a Project window. The account name is expanded, and OctopusWalkthrough displays below it.

  8. You are now connected to OctopusWalkthrough. Team Explorer is now giving us the chance to clone the team project Git repository.

    Screenshot of a Team Explorer – Home window. The Clone Repository fields display. The first field has a URL. The second field has the local address for the OctopusWalkthrough, and is marked with a 1. The Clone button is marked with a 2.

  9. If you wish, you can change the path of the local folder [1] where the remote Git repository will be cloned.

  10. We now click on the Clone button and the repository will be cloned in a few seconds.

  11. Select File->New->Project…

    Screenshot of a Visual Studio window for Octopus Walkthrough. File/New/Project is selected..

    and select ASP.NET Web Application (.NET Framework)[1], name the project, and set its location. [2]

    Note: Make sure the project location is inside the local folder of the repository we have cloned to [3].

    Screenshot of two windows: On the left, a New Project window displays. Under New Project, a tree-view is expanded as Installed\Templates\Visual C#. In the center pane, ASP.NET Web Application (.NET Framework) is circled, and marked with a 1. At the bottom, the Name and Location fields are circled and marked with a 2. On the right, a Solution Explorer – Folder View window displays. The local folder address is circled and marked with a 3.

  12. Click on the OK button.

  13. Select an MVC project type and click on OK:

    Screenshot of the ASP.NET Web Application – OctopusWalkthrough window. Under ASP.NET 4.5.2 Templates, the MVC icon is selected.

  14. Edit the Web.config file and add a setting with name deployedFrom to the appSettings element.

    Screenshot of the Web.config link in the tree view, and the Web.config file itself. In the Web.config file, the following line of code is circled: <add key=deployedFrom” value=””/>.

  15. Edit HomeController.cs file in the Controllers folder and add to the Index method the following code:

    
    ViewData["deployedFrom"] = ConfigurationManager.AppSettings["deployedFrom"];
    
    

    Screenshot of the Solution ‘OctopusWalkthrough’ tree view, with Controllers\HomeController.cs circled. On the right, the HomeController.cs file displays, with the previously mentioned line of code circled.

    <h1>ASP.NET</h1>
    

    with

    <h1>ASP.NET deployed from @ViewData["deployedFrom"]</h1>
    
  16. Edit Index.cshtml file in the Views folder and replace

    Screenshot of the Solution ‘OctopusWalkthrough’ tree view, with Views\Home\Index.cshtml circled. On the right, the HomeController.cs file displays, with the previously mentioned line of code circled.

  17. Open Team Explorer (View->Team Explorer), click on Changes, enter a commit message [1], click on the Commit All drop-down, and then click on Commit All and Push [2].

Task 5: Configure Octupus Deploy Build Integration Tasks in VSTS

  1. Open a browser and navigate to your VSTS account. If the project is not in the list of recent projects, then search for it[1].

  2. Hover over the team project name and click on code to access the code hub [2]:

    Screenshot of the VSTS dashboard, Projects tab. The search field is marked with a 1. Under Recent, OctopusWalkthrough displays, with the Code option circled and marked with a 2.

  3. You can now see the code in the OctopusWalkthrough repository [1] and you can navigate all files, and even edit them online, but we are more interested in automating the build.

    We can do this in the Build & Release hub, but since there is yet no build for this repository, we will just click on the Set up build button [2] that is sitting on the top upper left corner:

    Screenshot of the VSTS dashboard, Code tab. In the left pane, OctopusWalkthrough is marked with a 1. On the right, a Set up build button is marked with a 2.

  4. A new window/tab will open with the build editor and first you will see is the list of build templates.

    Hover over the ASP.NET template and click on the Apply button:

    Screenshot of the VSTS dashboard, Build and Release tab tab. In the right pane, under Select a template, ASP.NET (Preview) is circled, and a callout points to the Apply button.

  5. Select Hosted in the Default Agent queue dropdown [1]:

    Screenshot of the Tasks, Process, Build Process section. On the right, the Default agent queue field is set to Hosted, and is marked with a 1.

  6. Click on the Build Solution task and replace the MSBUild arguments parameter value with the value:

     /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"
    

    Screenshot of the Build solution (Visual Studio Build) task. On the right, the MSBuild Arguments field is highlighted.

  7. Remove Unwanted Tasks byt selecting the Test Assemblies and the Publish symbols paths tasks and remove them from the build definition (right click and then click on Remove selected task(s)):

    Screenshot of the Test Assemblies (Visual Studio test), and Publish symbols path (Index Sources and Publish Symbols) tasks. On the right, a pop-up menu displays with the option to Remove selected task(s).

  8. Click on the + Add Task and add the following tasks (use the add button). Before clicking on the add, make sure you click on the Build solution task, so new tasks are added between Build solution and Publish Artifact task).

    If the tasks are not added before the Publish Artifact task, don’t worry—you can reorder them by dragging and dropping in the right order).

    • Package Application [1]
    • Push Package(s) to Octopus [2]

    Screenshot of the tasks to add. Package Application (Package your application into a NuPkg or Zip file) is marked with a 1. Push Package(s) to Octopus (Push your NuGet or Zip package to your Octopus Deploy Server) is marked with a 2.

    Note: use the search box to find the tasks faster (enter package for example): Screenshot of the Add tasks search box, which is populated with “package,” and is circled.

  9. Now, configure the task’s parameters:

    Screenshot of the Add task section. Two Octopus icons display, with the message “Some settings need attention.” The icons are labeled Package, and Push Packages to Octopus.

  10. Click on Package task and enter the following values:

    • OctopusWalkthrough for Package ID field
    • select NuPkg for the Package Format dropdown
    • 1.0.$(Build.BuildId) for Package Version (notice the 1.0 version is hardcoded. We could use a variable for readability and easier maintenance.)
    • $(Build.ArtifactStagingDirectory) for Source Path
    • $(Build.ArtifactStagingDirectory)\packages for Output Path

    Screenshot of the Package Application dialog box, with the fields populated with the previously mentioned parameters.

    Note: Octopus requires the semver versioning format for the build number. If you intend to build from multiple branches, you can use the 1.0.$(BuildID)-$(SourceBranchName).

    We only configured the version for the OctoPack package version. Octopus uses this version; it is recommended that we use a similar version number for the build itself for easier correlation between builds and releases in Octopus.

  11. Click on Push Packages to Octopus task and enter the following values:

    • The connected service name we configured previously in the Octopus Deploy Server drop-down
    • $(Build.ArtifactStagingDirectory)\packages\*.nupkg for Package

    Screenshot of the Push Package(s) to Octopus dialog box. The Display name is “Push Packages to Octopus.” The Octopus Deploy Server field is circled, and is set to Octopus Deploy, and the Package field is with the previously mentioned parameter, and is circled.

    We are now ready to save and queue our first build.

  12. Click on Save & queue,

    ""

  13. accept the default parameters, and then click on Queue button:

    Screenshot of the Queue build for OctopusWalkthrough-ASP.NET (Preview) dialog box.

  14. The build is queued and will start as soon as there is an available agent. Click on the build number:

    Screenshot of the OctopusWalkthrough-ASP.NET Core-CI Build number.

  15. We are now going to check the results of our build execution.

    Navigate to Octopus Deploy portal and log in. We now have a check mark on the Application Package set. It means we have successfully uploaded our first package to the Octopus Deploy repository[1]. Click on the Library menu [2].

    Screenshot of the Octopus Landing Page, Welcome to Octopus Deploy. The green check mark next to 3. Application Packaging, is circled and marked with a 1. On the top menu bar, the Library link is marked with a 2.

  16. We can see we now have one package [1] in the repository. The OctopusWalkthrough package is visible [2] on the list of Available packages:

    Screenshot of the Octopus Landing Page, Library, Packages. In the left pane, Packages is selected. In the right pane, under Repository status, the Total packages stored is 1, and is marked with a 1. In the center pane, under Available packages, OctopusWalkthrough version 10.0.463 is circled and marked with a 2.

    With our package in Octopus Deploy Repository, we are now ready to deploy it.

Task 6: Create a Web App and Service Principal in Azure for deployment

  1. Login to Azure portal and click on the + sign [1], click on Web + Mobile [2], and finally, click on Web App[3].

    Screenshot of the Azure Portal. In the left pane, the New button is marked with a 1. In the New pane, under Marketplace, Web plus Mobile is marked with a 2. In the Web plus Mobile pane, under Featured Apps, Web App is marked with a 3.

  2. A new blade will open. Fill in the details to create a Web Application:

    • Enter a name [1]
    • Assign a resource group (create a new one or use the one used previously, for example) [2]
    • Select the Service plan [3]. If you do not have any service plan on the selected subscription [4], then create a new one.

    Screenshot of the Azure Portal. In the Web App (Create) pane, the App name field (OctopusWalkthrough) is marked with a 1. Under Resource Group, the radio button for Use existing is selected, and from the drop-down menu, Octopus is selected, and marked with a 2. The App Service plan/Location field is marked with a 3, and the Subscription field is set to Windows Azure MSDN – Visual … is marked with a 4. At the bottom, the Create button is marked with a 5.

  3. Click on the Create button [5]; in a few seconds, the web app is provisioned.

  4. Before being able to deploy to Azure, we need to provide Octopus Deploy with the means to authenticate itself against Azure to perform the necessary operations.

  5. Open Octopus Deploy dashboard and click on Environments [1] and then Select Accounts [2]:

    Screenshot of two Octopus Deploy dashboards. In the left image, the Environments tab is circled and marked with a 1. In the right image, under Environments, the Accounts button is circled and marked with a 2.

  6. Click on Add account in the Azure Subscriptions section.

    Octopus Deploy supports two kinds of Azure Authentication:

    • Certificate which can be used to interact with Azure Web Apps. This implies creating a certificate and uploading it to the portal.
    • A Service Principal, which is required if you want to use Azure Resource Management.

    We will go with service principal authentication. If you have a service principal created already you can re-use that.

    There are three ways of creating a service principal:

  7. After creating a service principal using your preferred method, you will be ready to configure the Account on Octopus Deploy.

    Note: Don’t forget to grant permissions to the service principal (at least to the resource group you created for the Web Application).

  8. Enter the account settings for the service principal data:

    Screenshot of the Octopus Deploy Dashboard, Create an Account fields. At the bottom, the Save and Test button is marked with a 1.

  9. Next, click on the Save and test button [1].

    If the data verifies successfully, a green checkmark appears:

    Screenshot of the Success message for Verifying the account.

Task 7: Create Deployment Environments

We need to create an environment so we can deploy to one or more targets. An environment represents a group of deployment targets that we can deploy to at the same time.

It is common to have a set of environments, for example, development, testing, and production.

  1. On Octopus Deploy portal, click on environment [1] and then click on Add environment button [2]:

    Screenshot of two Octopus Deploy dashboards. In the left dashboard, the Environment button is circled and marked with a 1. In the right dashboard, the Add environment button is circled and marked with a 2.

  2. Enter Development on the environment name and give it a description of Octopus Walkthrough Development Environment and click on the Save button.

    Screenshot of the Octopus Deploy dashboard. Under Environments, the Configure your deployment targets message displays.

    We now have an environment to deploy to; now, we need to define what we are going to deploy by creating a project.

Task 8: Create an Octopus Deploy Project and configure variable replacement

  1. On Octopus Deploy portal, click on Projects drop down [1] and then click on All[2]. When the project screen loads, click on the Add project button [3].

    Screenshot of two Octopus Deploy dashboards. On the left dashboard, the Projects tab is marked as 1, and under it, the All button is marked as 2. On the dashboard on the left, the Add project button is marked as 3.

  2. Give the project a name, Octopus Walkthrough, and description, and then click on the Save button.

    We will be routed to the project details page:

    Screenshot of the Octopus dashboard. On the left, under Octopus Walkthrough, the Overview tab is selected and marked as 1. A Congratulations, you have created a new project message displays on the right.

  3. We are now ready to start defining the deploy process. Click on the Process tab [1]:

    Screenshot of the Add steps to configure your deployment process message. At the bottom, the Add your first step button is marked as 1.

  4. Then, click on the Add your first step button [1].

  5. The list of step templates appears:

    Screenshot of the Choose step template section. From the step template options below, Deploy an Azure Web app is circled.

  6. Click on Deploy an Azure Web App and configure the step details:

  • Step Name Deploy to Web App

  • Package
    • Run on Octopus Server
    • Package ID OctopusWalkthrough (the id of package we packaged and published previously using VSTS Team Build) Screenshot of the Package parameters section.
  • Azure
    • Account Select the Azure Account name you created previously
    • Web App Select from the dropdown the name of the Web App created previously: Screenshot of the Azure parameters section.

The Web App value is hard coded to the web application name. If we want to deploy to multiple web applications (representing different environments) we should use an expression and a variable to deploy to multiple environments.

  1. Click on Configure features [1], select the Configuration Variables check box [2], and then click on the Apply button [3]:

    Screenshot of the Configure features link, which is marked as 1. On the right is the Enabled features table. Under Feature, the Configuration variables row is circled. Its check box is selected, and the Description field is “Replace settings in any files with variables defined in Octopus.”

  2. Click on the Save button and then click on the Variables tab.

  3. Click on the first row of the Project Variables and enter deployedFrom as the variable name and Octopus Deploy as the value:

    Screenshot of the Project Variables table. Only one variable displays, with Name set as deployedFrom, and Value as Octopus Deploy.

  4. The star is an indicator the variables are unsaved. Click on the Save button on right top of the screen.

    ""

Learn more about Configuration Variables.

Task 9: Create a Release and Deploy

  1. On the project details click on the Create release button [1] or the Create a release link [2], or click on the Releases tab and then on the Create your first release button:

    Screenshot of the Octopus Walkthrough window. The Create release button is marked as 1, and under Release / Development, the Create a release link is marked as 2.

  2. Give the release a version number and select the OctopusWalkthrough package version (there should be only one unless you have built the code multiple times) and click on the Save button:

    Screenshot of the Octopus Walkthrough window. The Create release section displays, with the Version marked as 1. In the Packages table below, the OctopusWalkthrough package displays.

We could automate creation of a release from VSTS build. This way, we could have a continuous deployment scenario by setting up VSTS in continuous integration mode and deploy it using Octopus Deploy every time someone pushed a change to VSTS.

  1. We are now ready to deploy. Click on the Deploy to Development button [1] (or click on the Deploy to link [2] for more advanced scenarios):

    Screenshot of the Octopus Walkthrough / Releases window. Under the Release version the Deploy to Development button is marked with a 1. Next to it, the Deploy to link is marked with a 2.

  2. After clicking on Deploy to Development, click on the Deploy now button [1]:

    Screenshot of the Deploy now button.

  3. Deployment will start, and you can see in real time the status of the deployment:

    Screenshot of the Octopus Walkthrough / Releases window. The Task progress displays. Acquire packages has a green checkmark, and under it, Step 1: Deploy to Web App has started.

  4. After deployment is complete, on the front of the release, you can now see a green check mark [1] signaling the deploy was successful.

  5. On the task progress [2], you can see the status of all tasks.

  6. On the history zone [3], you can see all changes that this release has suffered.

  7. Since this is our first deployment, you can also see a congratulation banner [4].

  8. If we navigate to the Azure Web Site we have deployed to, we can now see the application we have created previously is now deployed:

    Screenshot of the ASP.NET deployed from Octopus Deploy message.

    As the message says, “ASP.NET deployed from Octopus Deploy,” which means we have used the configuration variables to make a change unique to our process.

We have now successfully deployed an application into an Azure Web Application.

Summary

In this lab you completed the following tasks:

  • Installed Octopus Deploy on an Azure virtual machine using Azure Portal
  • Installed Octopus Deploy extension in VSTS account
  • Configured Octopus Deploy Connected Service as VSTS Service Endpoint
  • Created a Simple Application and push Code to VSTS
  • Configured Octupus Deploy Build Integration Tasks in VSTS
  • Created a Web App and Service Principal in Azure for deployment
  • Created Deployment Environments
  • Created an Octopus Deploy Project and configured variables
  • Created a Release and Deployed your sample app to azure.