Pages

Tuesday, March 24, 2015

Continuous Integration with Visual Studio Online, Octopus and Team City - Part 1

On March 21st at Philly .NET Code Camp "2015.1" Dante Papada and I taught a class called "Continuous Integration with Visual Studio Online, Octopus and Team City" - http://phillydotnet.org/sessions/continuous-integration-with-visual-studio-online-octopus-and-team-city/

To make collaboration easier Dante and I decided to create our presentation/ development environment in the cloud:

We started out by creating three new virtual machines in Azure; all with Windows Server Essentials 2012 R2:
-- We named vm1 Octoweb01 and installed the latest version of Octopus.
-- We named vm2 TCBuild01 and installed the latest version of Team City.
-- We named vm3 Octotent01 and installed Octopus Tentacle and SQL Express 2012.

I'm not going to detail the step-by-step instructions for installing Octopus, Team City and Octopus Tentacle because they are well documented on the Octopus and Team City websites:
-- Octopus Deploy - https://octopusdeploy.com/downloads
-- Team City - https://www.jetbrains.com/teamcity/download/

Demo 1
In the first demo I showed how to manually create a NuGet package using NuGet Package Explorer and how to deploy the package to an IIS web site on Octotent01:

1. Download and install NuGet Package Explorer from https://npe.codeplex.com/.

2. Launch NuGet Package Explorer and select "Create a new package":


3. Select Edit - “Edit Metadata” and re-name the package Id. I named mine “ThinkSimple”.

4. Use Windows Explorer to drag some HTML files into “Package Contents”:


5. Save the package locally and then copy it to the Octopus server; copy it to folder c:\packages on Octoweb01.

6. On Octoweb01 go to the Octopus dashboard. On the top menu select "Library" - "External feeds".

7. Add a new feed called "Local Feed". Point the URL to "c:\feeds". Click "Save and Test".


8. On the top menu select "Projects" - "All Projects".

9. Click "Add Project".

10. Name the project "ThinkSimple website". Click "Save".

11. On the "Choose step type" page select "Deploy a NuGet package".


12. On the "Step details" page:
      A. Step Name = "Deploy Website".
      B. Machine roles = "web-server".
      C. NuGet feed = "Local Feed".
      D. NuGet package ID = "ThinkSimple".


13. Click "Configure Features" and select "IIS web site and application". Click "Apply".

14. Enter the Web site name and the Application Pool Name - "Think Simple".


15. Check "Enable Anonymous Authentication" and for Environments select "Dev". Click "Save".

16. Click "Create a Release". Click "Save".



17. Click "Deploy Release". Click "Deploy Now".



18. After the task is complete you should see "Success".


No comments:

Post a Comment