by Rob Richardson
Rob Richardson is a software craftsman building web properties in ASP.NET and Node, React and Vue. He's a frequent speaker at conferences, user groups, and community events, and a diligent teacher and student of high quality software development. You can find this and other talks on https://robrich.org/presentations and follow him on twitter at @rob_rich.
Because computers are cheaper than people
suggestion |
check out |
code |
build |
test |
deploy |
qa |
prod |
feedback |
||||||||||
suggestion |
check out |
code |
build |
test |
deploy |
qa |
prod |
feedback |
||||||||||
Where is the primary copy?
suggestion |
check out |
code |
build |
test |
deploy |
qa |
prod |
feedback |
||||||||||
Where is the primary copy?
suggestion |
check out |
code |
build |
test |
deploy |
qa |
prod |
feedback |
||||||||||
developer |
dev/test |
pre-prod |
prod |
|||||
Icons: Icons8 and Font Awesome
developer |
dev/test |
pre-prod |
prod |
|||||
Icons: Icons8 and Font Awesome
developer |
dev/test |
pre-prod |
prod |
|||||
Icons: Icons8 and Font Awesome
developer |
dev/test |
pre-prod |
prod |
|||||
Icons: Icons8 and Font Awesome
developer |
dev/test |
pre-prod |
prod |
|||||
Icons: Icons8 and Font Awesome
Tweaked for each environment:
How can we automate this?
with Docker containers
What are containers?
How do I build them in an automated way?
How is this better than VMs / Puppet / Chef?
"Docker: VM++"
Docker is an ecosystem around Container Virtualization
Light-weight kernel virtualization
A suite of command-line tools for
creating, running, and sharing containers
Source: http://www.zdnet.com/article/what-is-docker-and-why-is-it-so-darn-popular/
virtualize and share the host kernel
must match host kernel:
Download: https://robrich.org/slides/welcome-to-docker/docker-ecosystem.pdf
FROM microsoft/dotnet:2.1-aspnetcore-runtime
WORKDIR /app
COPY Site.csproj .
RUN dotnet restore
COPY . .
RUN dotnet build -c Release
RUN dotnet publish -c Release -o dist
WORKDIR /app/dist
ENV ASPNETCORE_URLS http://+:5000
EXPOSE 5000
CMD ["dotnet", "Site.dll"]
DEMO: Docker hub dependencies
DEMO: SQL Server DevOps