In this intermediate level course, you will learn to build, test, and deploy applications, end-to-end, using CircleCI.
Welcome to the Build → Test → Deploy Course
In this course, we cover concepts regarding Build → Test → Deploy scenarios using a variety of frameworks, tools and languages.
Who should take this course?
This course is designed for CircleCI developers using the cloud hosted solution. You should be familiar with managing source code in a VCS such as GitHub or Bitbucket; have a working knowledge of editing YAML files, and experience using command line utilities to automate builds and deploys for the technology stack at your organization. This is intermediate level course.* We will be adding lessons and scenarios over time to this course, featuring both our old and new user interfaces (UIs).
Concepts covered:
VCS integration
Automated testing framework
Workflows
Code-based configuration
Infrastructure as Code (IaC)
*If you are just starting out with CircleCI, you may consider completing our Associate Developer Training course, prior to starting this course.
Scenarios:
Python Flask Application Running in Heroku
In this lesson, you will take a quick trip through CircleCI as one of our Solutions Engineers builds, tests and deploys changes to a Python Flask application running in Heroku. Concepts covered:
Workflows
VCS platforms integration
Automatic testing framework
Code-based configuration approach
This lesson is presented featuring the CircleCI old user interface (UI). Stay tuned for an update to this lesson using our new redesigned UI.
iOS Code Signing
In this lesson, we will show you an easy and simple method for automatically code signing your projects during your CircleCI jobs. Concepts covered:
Job flow overview
Fastlane setup
Generating code signing assets
Matchfile — app identifier setup
Fastfile / Gemfile / X code configuration
CircleCI settings
Config.yml setup
Infrastructure as Code
Gain a basic understanding of Infrastructure as Code (IaC) and how it can enable you to scale, version, and audit infrastructure resources.
DevOps adoption usually includes an evolution of processes and tool chains that enable these teams to function optimally. Modern day computing and infrastructure management is definitely shifting away from “ClickOps” management and adopting the Infrastructure as Code (IaC) way of doing business. IaC enables teams to easily define, deploy and maintain compute infrastructures in the form of code. It also provides the ability to effortlessly scale, version and audit infrastructure resources.
In this session, you'll be introduced to the core principles of IaC and have the opportunity to reinforce what you've learned featuring industry known tools such as Terraform and Pulumi. CircleCI Developer Advocate Angel Rivera leads this course. He will demonstrate along the way how to specify, deploy and destroy a Kubernetes cluster via code.
Infrastructure as Code – Prerequisites
In this section, we feature a series of eight lessons covering Infrastructure as Code (IaC). IaC enables organizations to create, manage, and destroy compute resources using modern DevOps tools by statically defining and declaring these resources in code. We review IaC from a high level, then get into specifics on how to use HashiCorp’s Terraform to provision, deploy, and destroy infrastructure resources. This training was developed in conjunction with a CircleCI blog post tutorial series that you might find useful as a preview.
For the first lesson, we cover the installation of tools and cloud services necessary to follow this training, namely:
Terraform CLI
Terraform Cloud Account
Google Cloud SDK CLI
Google Cloud Platform
Docker
Docker Hub Account
CircleCI Account
GitHub Account
Learn laC Code Repo
Infrastructure as Code – Concepts
In this second lesson, we'll step back and cover at a high level what Infrastructure as Code (IaC) is, IaC purpose, and underlying concepts.
IAC – Terraform
In this lesson, we start building a Google Kubernetes Engine (GKE) cluster using Terraform, following the steps below:
Clone repo.
Review terraform variables file
Review Providers file
Review main.tf file
Initialize code
Validate code
Terraform plan
In this lesson, content is presented in a player that you can hover over to utilize the following options.
1. Table of Contents: Click to display or hide the table of contents on the right hand of the screen.
2. Player Settings: Click to select desired playback speed.
3. Fullscreen: Click to toggle to a fullscreen view.
IAC - Build Docker Image
In this IaC lesson, we will:
Review Docker ignore file
Review Dockerfile
Build a Docker image
Push image to Docker Hub
In this lesson, content is presented in a player that you can hover over to utilize the following options.
1. Table of Contents: Click to display or hide the table of contents on the right hand of the screen.
2. Player Settings: Click to select desired playback speed.
3. Fullscreen: Click to toggle to a fullscreen view.
IAC - Terraform Deploy
In this lesson, we will:
Review Terraform files
Deploy Terraform
Diagnose an error
Review Kubernetes cluster
Edit deployments
Review the running app
Destroy infrastructure
In this lesson, content is presented in a player that you can hover over to utilize the following options.
1. Table of Contents: Click to display or hide the table of contents on the right hand of the screen.
2. Player Settings: Click to select desired playback speed.
3. Fullscreen: Click to toggle to a full screen view.
IAC - Automate Integration Part 1
In this lesson, we will cover:
Log in to CircleCI
Setup environment variables
CircleCI configuration
Build Docker image
Create and deploy a GKE cluster
Destroy a GKE cluster
Workflows
Requires statements
Approval type
Demonstration
In this lesson, content is presented in a player that you can hover over to utilize the following options.
1. Table of Contents: Click to display or hide the table of contents on the right hand of the screen.
2. Player Settings: Click to select desired playback speed.
3. Fullscreen: Click to toggle to a full screen view.
IAC - Automate Integration Part 2
We continue the tutorial with the steps below.
Build Docker image
Create and deploy a GKE cluster
Destroy a GKE cluster
In this lesson, content is presented in a player that you can hover over to utilize the following options.
1. Table of Contents: Click to display or hide the table of contents on the right hand of the screen.
2. Player Settings: Click to select desired playback speed.
3. Fullscreen: Click to toggle to a full screen view.
IAC - Automate Integration Part 3
In the lesson wrap up, we cover:
Workflows
Requires statements
Approval type
Demonstration
In this lesson, content is presented in a player that you can hover over to utilize the following options.
1. Table of Contents: Click to display or hide the table of contents on the right hand of the screen.
2. Player Settings: Click to select desired playback speed.
3. Fullscreen: Click to toggle to a full screen view.
Parallelism
In this lesson, we cover parallelism and test splitting with CircleCI, and show how those concepts can dramatically improve the speed of your jobs.
General Resources: