Skip to content

Commit 3284f59

Browse files
sixeyedMano Marks
authored and
Mano Marks
committed
Added modernize ASP.NET ops lab (docker#180)
Signed-off-by: Elton Stoneman <elton@sixeyed.com>
1 parent a5aeb20 commit 3284f59

38 files changed

+1457
-2
lines changed

windows/modernize-traditional-apps/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ The labs focus on specific application profiles, and the modernization benefits
2727
- Modernize Messaging-Based Integration Apps
2828

2929

30-
## For IT Pros
30+
## For IT Pros and Ops
3131

32-
- Migrate ASP.NET and SQL Server Apps to Docker
32+
- [Migrate ASP.NET Apps to Docker](modernize-aspnet-ops/README.md)
3333

3434
- Migrate WCF Service Apps to Docker
3535

Lines changed: 277 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,277 @@
1+
## Ignore Visual Studio temporary files, build results, and
2+
## files generated by popular Visual Studio add-ons.
3+
##
4+
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
5+
6+
# User-specific files
7+
*.suo
8+
*.user
9+
*.userosscache
10+
*.sln.docstates
11+
12+
# User-specific files (MonoDevelop/Xamarin Studio)
13+
*.userprefs
14+
15+
# Build results
16+
[Dd]ebug/
17+
[Dd]ebugPublic/
18+
[Rr]elease/
19+
[Rr]eleases/
20+
x64/
21+
x86/
22+
bld/
23+
[Bb]in/
24+
[Oo]bj/
25+
[Ll]og/
26+
27+
# Visual Studio 2015 cache/options directory
28+
.vs/
29+
# Uncomment if you have tasks that create the project's static files in wwwroot
30+
#wwwroot/
31+
32+
# MSTest test Results
33+
[Tt]est[Rr]esult*/
34+
[Bb]uild[Ll]og.*
35+
36+
# NUNIT
37+
*.VisualState.xml
38+
TestResult.xml
39+
40+
# Build Results of an ATL Project
41+
[Dd]ebugPS/
42+
[Rr]eleasePS/
43+
dlldata.c
44+
45+
# .NET Core
46+
project.lock.json
47+
project.fragment.lock.json
48+
artifacts/
49+
**/Properties/launchSettings.json
50+
51+
*_i.c
52+
*_p.c
53+
*_i.h
54+
*.ilk
55+
*.meta
56+
*.obj
57+
*.pch
58+
*.pdb
59+
*.pgc
60+
*.pgd
61+
*.rsp
62+
*.sbr
63+
*.tlb
64+
*.tli
65+
*.tlh
66+
*.tmp
67+
*.tmp_proj
68+
*.log
69+
*.vspscc
70+
*.vssscc
71+
.builds
72+
*.pidb
73+
*.svclog
74+
*.scc
75+
76+
# Chutzpah Test files
77+
_Chutzpah*
78+
79+
# Visual C++ cache files
80+
ipch/
81+
*.aps
82+
*.ncb
83+
*.opendb
84+
*.opensdf
85+
*.sdf
86+
*.cachefile
87+
*.VC.db
88+
*.VC.VC.opendb
89+
90+
# Visual Studio profiler
91+
*.psess
92+
*.vsp
93+
*.vspx
94+
*.sap
95+
96+
# TFS 2012 Local Workspace
97+
$tf/
98+
99+
# Guidance Automation Toolkit
100+
*.gpState
101+
102+
# ReSharper is a .NET coding add-in
103+
_ReSharper*/
104+
*.[Rr]e[Ss]harper
105+
*.DotSettings.user
106+
107+
# JustCode is a .NET coding add-in
108+
.JustCode
109+
110+
# TeamCity is a build add-in
111+
_TeamCity*
112+
113+
# DotCover is a Code Coverage Tool
114+
*.dotCover
115+
116+
# Visual Studio code coverage results
117+
*.coverage
118+
*.coveragexml
119+
120+
# NCrunch
121+
_NCrunch_*
122+
.*crunch*.local.xml
123+
nCrunchTemp_*
124+
125+
# MightyMoose
126+
*.mm.*
127+
AutoTest.Net/
128+
129+
# Web workbench (sass)
130+
.sass-cache/
131+
132+
# Installshield output folder
133+
[Ee]xpress/
134+
135+
# DocProject is a documentation generator add-in
136+
DocProject/buildhelp/
137+
DocProject/Help/*.HxT
138+
DocProject/Help/*.HxC
139+
DocProject/Help/*.hhc
140+
DocProject/Help/*.hhk
141+
DocProject/Help/*.hhp
142+
DocProject/Help/Html2
143+
DocProject/Help/html
144+
145+
# Click-Once directory
146+
publish/
147+
148+
# Publish Web Output
149+
*.[Pp]ublish.xml
150+
*.azurePubxml
151+
# TODO: Comment the next line if you want to checkin your web deploy settings
152+
# but database connection strings (with potential passwords) will be unencrypted
153+
*.pubxml
154+
*.publishproj
155+
156+
# Microsoft Azure Web App publish settings. Comment the next line if you want to
157+
# checkin your Azure Web App publish settings, but sensitive information contained
158+
# in these scripts will be unencrypted
159+
PublishScripts/
160+
161+
# NuGet Packages
162+
*.nupkg
163+
# The packages folder can be ignored because of Package Restore
164+
**/packages/*
165+
# except build/, which is used as an MSBuild target.
166+
!**/packages/build/
167+
# Uncomment if necessary however generally it will be regenerated when needed
168+
#!**/packages/repositories.config
169+
# NuGet v3's project.json files produces more ignoreable files
170+
*.nuget.props
171+
*.nuget.targets
172+
173+
# Microsoft Azure Build Output
174+
csx/
175+
*.build.csdef
176+
177+
# Microsoft Azure Emulator
178+
ecf/
179+
rcf/
180+
181+
# Windows Store app package directories and files
182+
AppPackages/
183+
BundleArtifacts/
184+
Package.StoreAssociation.xml
185+
_pkginfo.txt
186+
187+
# Visual Studio cache files
188+
# files ending in .cache can be ignored
189+
*.[Cc]ache
190+
# but keep track of directories ending in .cache
191+
!*.[Cc]ache/
192+
193+
# Others
194+
ClientBin/
195+
~$*
196+
*~
197+
*.dbmdl
198+
*.dbproj.schemaview
199+
*.jfm
200+
*.pfx
201+
*.publishsettings
202+
node_modules/
203+
orleans.codegen.cs
204+
205+
# Since there are multiple workflows, uncomment next line to ignore bower_components
206+
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
207+
#bower_components/
208+
209+
# RIA/Silverlight projects
210+
Generated_Code/
211+
212+
# Backup & report files from converting an old project file
213+
# to a newer Visual Studio version. Backup files are not needed,
214+
# because we have git ;-)
215+
_UpgradeReport_Files/
216+
Backup*/
217+
UpgradeLog*.XML
218+
UpgradeLog*.htm
219+
220+
# SQL Server files
221+
*.mdf
222+
*.ldf
223+
224+
# Business Intelligence projects
225+
*.rdl.data
226+
*.bim.layout
227+
*.bim_*.settings
228+
229+
# Microsoft Fakes
230+
FakesAssemblies/
231+
232+
# GhostDoc plugin setting file
233+
*.GhostDoc.xml
234+
235+
# Node.js Tools for Visual Studio
236+
.ntvs_analysis.dat
237+
238+
# Visual Studio 6 build log
239+
*.plg
240+
241+
# Visual Studio 6 workspace options file
242+
*.opt
243+
244+
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
245+
*.vbw
246+
247+
# Visual Studio LightSwitch build output
248+
**/*.HTMLClient/GeneratedArtifacts
249+
**/*.DesktopClient/GeneratedArtifacts
250+
**/*.DesktopClient/ModelManifest.xml
251+
**/*.Server/GeneratedArtifacts
252+
**/*.Server/ModelManifest.xml
253+
_Pvt_Extensions
254+
255+
# Paket dependency manager
256+
.paket/paket.exe
257+
paket-files/
258+
259+
# FAKE - F# Make
260+
.fake/
261+
262+
# JetBrains Rider
263+
.idea/
264+
*.sln.iml
265+
266+
# CodeRush
267+
.cr/
268+
269+
# Python Tools for Visual Studio (PTVS)
270+
__pycache__/
271+
*.pyc
272+
273+
# Cake - Uncomment if you are using it
274+
# tools/
275+
276+
# output from Docker builds
277+
docker/web/UpgradeSample.Web/
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
2+
# Modernize ASP.NET Apps - Ops Lab
3+
4+
You'll already have a process for deploying ASP.NET apps, but it probably involves a lot of manual steps. Work like copying application content between servers, running interactive setup programs, modifying configuration items and manual smoke tests all add time and risk to deployments.
5+
6+
In Docker, the process of packaging applications is completely automated, and the platform supports automatic update and rollback for application deployments. You can build Docker images from your existing application artifacts, and run ASP.NET apps in containers without changing code.
7+
8+
This lab is aimed at ops and system admins. It steps through packaging an ASP.NET WebForms app to run in a Docker container on Windows 10 or Windows Server 2016. It starts with an MSI and ends by showing you how to package the application from source. You'll see how easy it is to start running applications in Docker, and the benefits you get from a modern application platform.
9+
10+
## What You Will Learn
11+
12+
In this self-paced lab, you'll learn how to:
13+
14+
- Package an existing ASP.NET MSI so the app runs in Docker, without any application changes.
15+
16+
- Create an upgraded package with application updates and Windows patches.
17+
18+
- Update and rollback the running application in a production environment with zero downtime.
19+
20+
- Package an ASP.NET application from the source code without needing Visual Studio or MSBuild.
21+
22+
## Prerequisites
23+
24+
You'll need Docker running on Windows. You can follow the [Windows Container Lab Setup](https://github.com/docker/labs/blob/master/windows/windows-containers/Setup.md) to install Docker on Windows 10, or Windows 2016 - locally, or on AWS or Azure.
25+
26+
You should be familiar with IIS and PowerShell, and with the key [Docker concepts](https://docs.docker.com/engine/understanding-docker/)
27+
28+
## The Lab
29+
30+
- [Part 1 - Packaging ASP.NET Apps as Docker Images](part-1.md)
31+
- [Part 2 - Upgrading Application Images](part-2.md)
32+
- [Part 3 - Zero-Downtime Update and Rollback](part-3.md)
33+
- [Part 4 - Packaging Applications From Source](part-4.md)
Loading
Loading
Loading

0 commit comments

Comments
 (0)