docs/1-introduction/1.1-devops-defined.md | docs/1-introduction/1.2-liatrio-and-devops.md | docs/1-introduction/1.2.1-dojo.md | docs/1-introduction/1.3.1-unix.md | docs/1-introduction/1.3.2-vim.md | docs/1-introduction/1.3.3-installations.md | docs/1-introduction/1.3.4-passwords-and-keys.md | docs/1-introduction/1.3.5-networking.md | docs/1-introduction/1.4-external-resources.md | docs/2-Github/2.2-Actions.md | docs/2-Github/2.3-Projects.md | docs/2-Github/2.4-APIs.md | docs/2-Github/2.5-Security.md | docs/3-virtual-machines-containers/3.1-golden-images.md | docs/3-virtual-machines-containers/3.2-local-development.md | docs/3-virtual-machines-containers/3.3-managing-infrastructure.md | docs/3-virtual-machines-containers/3.4-containers.md | docs/3-virtual-machines-containers/3.5.1-docker-compose.md | docs/3-virtual-machines-containers/3.5.2-kubernetes.md | docs/4-cloud-computing/4.0-overview.md | docs/4-cloud-computing/4.1.1-aws.md | docs/4-cloud-computing/4.1.2-azure.md | docs/4-cloud-computing/4.2.1-s3-cloudfront.md | docs/4-cloud-computing/4.2.2-ec2.md | docs/4-cloud-computing/4.2.3-auto-scaling.md | docs/4-cloud-computing/4.2.4-aws-packer.md | docs/4-cloud-computing/4.2.5-lambda.md | docs/4-cloud-computing/4.2.6-ecs.md | docs/4-cloud-computing/4.3.1-storage-accounts.md | docs/4-cloud-computing/4.3.2-virtual-machines.md | docs/4-cloud-computing/4.3.3-vmss.md | docs/4-cloud-computing/4.3.4-az-packer.md | docs/4-cloud-computing/4.3.5-aci.md | docs/4-cloud-computing/4.3.6-aks.md | docs/4-cloud-computing/4.3.7-app-service.md | docs/5-software-development-practices/5.1-overview.md | docs/5-software-development-practices/5.2-jira.md | docs/5-software-development-practices/5.3.1-branching-merging.md | docs/5-software-development-practices/5.3.2-git.md | docs/5-software-development-practices/5.3.3-github.md | docs/5-software-development-practices/5.4-pairprogramming.md | docs/5-software-development-practices/5.5.1-unit-testing.md | docs/5-software-development-practices/5.5.2-functional-testing.md | docs/5-software-development-practices/5.5.3-code-styling.md | docs/5-software-development-practices/5.5.4-code-coverage.md | docs/5-software-development-practices/5.5.5-test-automation.md | docs/5-software-development-practices/5.5.6-sonarqube.md | docs/5-software-development-practices/5.5.7-code-review.md | docs/5-software-development-practices/5.6-hello-devops.md | docs/6-release-management/6.1-versioning.md | docs/6-release-management/6.2.1-maven.md | docs/6-release-management/6.2.2-maven-integration.md | docs/6-release-management/6.2.3-make.md | docs/6-release-management/6.2.4-npm.md | docs/6-release-management/6.2.5-go-releaser.md | docs/6-release-management/6.3.1-docker.md | docs/6-release-management/6.3.2-helm.md | docs/7-infrastructure-configuration-management/7.1.1-terraform-getting-started.md | docs/7-infrastructure-configuration-management/7.1.2-terraform-backends.md | docs/7-infrastructure-configuration-management/7.1.3-terraform-modules.md | docs/7-infrastructure-configuration-management/7.1.4-terraform-providers.md | docs/7-infrastructure-configuration-management/7.2-ansible.md | docs/8-kubernetes-container-orchestration/8.1-kubectl-ref.md | docs/8-kubernetes-container-orchestration/8.2-volumes.md | docs/8-kubernetes-container-orchestration/8.3-probes.md | docs/8-kubernetes-container-orchestration/8.4-rbac.md | docs/8-kubernetes-container-orchestration/8.5-hpas.md | docs/8-kubernetes-container-orchestration/8.6-webhooks.md | docs/8-kubernetes-container-orchestration/8.8-hello-k8s.md | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Welcome! You must be here because you're interested in DevOps. Don't worry, we'll get to that in a moment! First, let's briefly go over some details.
"1.0" can be referred to as "Chapter One," while "1.2" can be referred to as "Chapter One, Section Two."
This DevOps Bootcamp is used as an introduction to DevOps for Liatrio's apprentices. Therefore, there are deliverables at the end of each section and quizzes sprinkled throughout that help guide the apprentices' training. However, anyone can go through the DevOps Bootcamp. Feel free to ignore the deliverables, quizzes, etc. This bootcamp also assumes the bootcamper is using a Mac for the deliverables.
This bootcamp alone will by no means make anyone an expert on DevOps; that's where real, in-the-field experience engineering and shadowing come in. However, this bootcamp is a great start for anyone entering the world of DevOps! It is recommended that anyone going through this bootcamp have a mentor to fill in the gaps of information and answer questions, as well. Also, many of the exercises proposed in this bootcamp have no solution listed. This is because it is up to the bootcamper to come up with the solution on their own. So, if you're wondering where a solution to an exercise is - there is likely none; that's up to you!
- Introduction to DevOps
- GitHub
- Virtual Machines and Containers
- Cloud Computing
- Development Practices
- Release Management
- Infrastructure and Configuration
- Kubernetes
- Share what you learn. Knowledge is best retained when you can teach it back yourself.
- If you're participating in the bootcamp with others, lift them up instead of speeding past them.
- Your learning should be in a demonstrable state at any given time.
- Slow and steady wins the race. If you don't fully understand something, speak up for help and spend more time on it.
- Be transparent in your progress.
- Have fun!
"It's better to over communicate than to under communicate."
Deliverables
If you are an apprentice (or if you just want to add to your learning), here's a little insight on the deliverables the bootcamp will provide. At the end of each section, you will typically encounter a bulleted list of deliverables. They will usually be structured to get you thinking/reflecting/researching key points that the section covered.
Quizzes
As mentioned before, you'll also find small quizzes sprinkled throughout the bootcamp. Don't worry, they aren't graded and scores aren't tracked, so there's zero pressure when it comes to them. That being said, they are very valuable for learning, so it would be wise to take the time to not only get the correct answers on them, but to really understand why those are the correct answers.
Here's a sample quiz to show you how they'll behave:
This bootcamp was adapted from an apprentice training program, and some mistakes may have slipped through the cracks. If you see any errors, outdated methods, or citation errors please submit a pull request.
Below are a number of ways to develop locally, choose whichever you are most comfortable with.
Install Docsify locally (in current directory)
- Run
npm install
- Run
npm start
- Open http://localhost:3000
Install Docsify Globally in your system
- Install docsify
- Navigate to local library of onboarding
- Run
docsify serve .
- Open http://localhost:3000
Use Docker to build and serve the content, but remember to rebuild the Docker image to review changes
- Execute
docker build . -t devops-bootcamp
from the project's root directory to generate a container image - Run
docker run -d -p 3000:3000 --name devops-bootcamp devops-bootcamp
to run a detached Docker container - Open http://localhost:3000
- Run
docker compose up -d
- Open http://localhost:3000
- Images should be placed under the root
img
folder and referred to using HTML<img>
tags - H3 header (
###
) should be the default header within a page - H2 header (
##
) will appear in the navigation as the page's table of contents