DevOps Foundations: Your First Project

DevOps Foundations: Your First Project

3h 57mBeginner2024-07-29

Authors

Carlos Nunez

Carlos Nunez

Cloud and Software Consultant | Field Engineer at VMware

Course details

Curious about how to put DevOps principles into practice? This course can help. Join instructor and DevOps expert Carlos Nunez as he demonstrates how to apply DevOps principles to a sample app for a fictitious travel booking company. Throughout the course, Carlos shows you how to leverage popular tools and methodologies to make updating, testing, and releasing the app a breeze. After explaining how to containerize the website with Docker and Docker Compose, he shows how to write unit and integration tests with RSpec, Capybara, and Selenium. He then guides you through the process of deploying your website to the cloud with OpenTofu and using GitLab CI, GitLab's built-in CI/CD service that can build, test, and deploy your app. Upon completing this course, you'll know how to turn a slow and complex application development process into a fast and enjoyable one.

Skills covered

BashJenkinsTerraformHashiCorpDockerDevOps FoundationsDevOpsProjectOpen Source

Concepts

Introduction

  • Your first project, DevOps-ified
  • What you should know
  • Configuring AWS

The Project The Mission

  • So what is this DevOps thing anyway
  • Your application, pre-DevOps
  • Your application, post-DevOps

Testing Locally with Docker

  • Bring production to your laptop with Docker
  • Installing Docker
  • Writing your first Dockerfile
  • Writing your first Docker Compose manifest

Getting Started with Git

  • Version control - The secret weapon of DevOps
  • Installing Git
  • Initializing your first Git repository
  • Getting familiar with the Git workflow

Collaborative Version Control

  • Beyond local repositories
  • Introducing GitLab
  • Creating the GitLab Docker Compose service
  • Starting the GitLab Compose service
  • Creating our first GitLab project
  • Connecting Git to GitLab

Testing Your App with RSpec, Capybara, and Selenium

  • Test often, ship often
  • Setting up your test
  • Viewing our test harness in Docker Compose
  • Updating the Dockerfile
  • Running the test
  • Finding criteria for a unit test
  • Writing the unit test
  • Setting up Selenium
  • Running your test with Selenium

Infrastructure as Code with OpenTofu

  • Deploy with confidence with infrastructure as code
  • Finding the version of OpenTofu to use
  • Adding OpenTofu to Docker Compose
  • AWS deployment explained
  • Writing your integration test
  • Writing OpenTofu code
  • Reviewing the OpenTofu plan
  • Applying the OpenTofu plan
  • Running your integration test
  • Destroying the website from AWS S3

CI CD as Code

  • Shipping fast with CI CD
  • Introducing GitLab CI
  • Writing our first Gitlab CI workflow
  • Configuring sensitive variables
  • Creating our first Gitlab CI runner
  • Putting it all together
  • Challenge - Change the website title
  • Solution - Change the website title

Conclusion

  • Next steps
80,000 Toman