- Level Professional
- Duration 16 hours
- Course by University of California, Davis
-
Offered by
About
In today's world, software development is highly complex and often has large teams of developers working on small pieces of a larger software project. This course will go over the basic principles of using a continuous integration system effectively to constantly improve software. We're going to describe the different stations of continuous test, build, integration and deploy processes required for DevOps practices and apply best practices for quality software management, and tooling to accomplish iterative software build & test processes. You will be able to create an automated job for continuous build, test, integrate, and deploy with Travis CI and use branching and project workflows to enhance the quality, speed and feedback loops for your software assets. We'll describe the attributes of Deterministic Builds and how they are applied within the CI pipeline and use the Continuous Integration data and analytics to measure and improve the health of your software assets. Automation at scale is now more achievable for software development teams, as continuous integration makes it possible.Modules
Getting Started
1
Discussions
- Learning Goals
1
Videos
- Course Introduction
1
Readings
- A Note From UC Davis
Continuous Integration Tenets
1
Discussions
- Using a CI System to Achieve or Improve The "3 Rs"
6
Videos
- Continuous Integration Tenets Introduction
- It Worked for Me in Dev
- Using a Continuous Integration System for Automation
- Coding with Confidence: Repeatability, Reliability, and Reusability
- Using Travis CI to Achieve Repeatability, Reliability, and Reusability
- Basic Continuous Integration Tenets
Setup Requirements for Continuous Integrations
5
Videos
- Set Up a GitHub Account
- Set Up GitHub Desktop
- Set Up Travis CI Account
- Install Docker
- Set Up Atom Hackable Text Editor
5
Readings
- Explore GitHub
- Explore GitHub Desktop
- Explore Travis CI
- Explore the Docker Hub
- Explore the Atom Text Editor
Continuous Integration Basics
2
Videos
- Prerequisites Checkpoint for This Course
- First Repository with Travis CI Workflow; Execute Build on Probot App
6
Readings
- Explore Probot GitHub App Documentation
- Explore Probot GitHub Hello World App
- Explore Hello World GitHub Guide
- Find Our User Account and Project for Probot Hello
- Understanding the GitHub Flow
- Building a JavaScript and Node.js project
Review
1
Assignment
- Module 1 Quiz
1
Readings
- Activities Checklist
Managing the CI Environment and Performing with Travis CI
2
Discussions
- Blog Post: GitHub Username Reuse Debate
- How Continuous Changes and Iterations Impact Flow Control
12
Videos
- Module 2 Introduction
- All Builds Start with Requirements
- Go With the Flow
- Probot App
- Dockerization on Travis
- Go With the Flow Introduction
- Travis CI by Example Working with Phases, Example 1
- Travis CI by Example Working with Matrix, Example 2
- Travis CI by Example Understanding Phase Tags, Example 3
- Travis CI by Example Working with Stages, Example 4 (Part 1)
- Travis CI by Example Working with Stages, Example 4 (Part 2)
- Go With the Flow Final Review
1
Readings
- Explore Real-World Examples
Review
1
Assignment
- Module 2 Quiz
1
Readings
- Activities Checklist
CI Status for Shipping Changes & Configuration Arguments and Outputs
2
Discussions
- Explore GitHub Marketplace
- How Webhooks Help Implement DevOps Capabilities
13
Videos
- Module 3 Introduction
- Work Smarter, Not Harder with Webhooks
- Webhooks, Part 1: Install a New Application on Travis CI
- Webhooks, Part 2: What Happened in the Build; Create New GitHub App
- Webhooks, Part 3: Finish Set Up of Web Application on Glitch
- Webhooks, Part 4: Troubleshooting, Webhooks Summary
- Shh...Don't Share This Secret
- Secrets, Part 1: How to Store Secrets in a Travis CI Project
- Secrets, Part 2: Connect to Heroku, Debug, Set Private Key with Heroku CLI
- Secrets, Part 3: Generate Encrypted Authorizations and Credentials
- Secrets, Part 4: Deploy with Your Heroku Branch
- Putting Our Schedules to Work
- Schedules and Setting Up Example Schedules in Travis CI
Review
1
Assignment
- Module 3 Quiz
1
Readings
- Activities Checklist
Creating a Reliable CI System and Log Analytics
2
Discussions
- Resources and Exploration
- Importance of Measuring and Monitoring Your CI Environment
14
Videos
- Module 4 Introduction
- "Just Ten More Minutes"
- Measuring and Monitoring Metrics in Our CI Environment
- Not All Failures are the Same
- Learning and Introduction to Metrics Capturing Tools for CI, Part 1 of 10
- Getting Our Heroku Environment Ready for Prometheus, Part 2 of 10
- Deploying Prometheus as a Heroku App, Part 3 of 10
- Setting Up Grafana to Visualize Our Metrics, Part 4 of 10
- Step 1: Setting Up Requirements for the Prometheus Scraper, Part 5 of 10
- Step 2: Setting Up GitHub App Checks API Events, Part 6 of 10
- Step 3: Mapping Check Run Data into Prometheus Observation Object, Part 7 of 10
- Step 4: Finalize and Deploy our Prometheus Scraper Development, Part 8 of 10
- Visualizing Our Build Metrics with Some Test Data, Part 9 of 10
- Wrap up and Seeing the Metrics Results, Part 10 of 10
1
Readings
- Documentation on Check Run
Peer Review Assignment
1
Peer Review
- Continuous Integration Final Project
2
Readings
- Welcome to Peer Review Assignments!
- Are You Ready?
Review
1
Assignment
- Module 4 Quiz
Course Summary
1
Discussions
- Self-Reflection
1
Videos
- Course Summary
Auto Summary
Discover the essentials of Continuous Integration in this comprehensive IT & Computer Science course by Coursera. Led by industry experts, this professional-level course delves into CI principles, DevOps practices, and quality software management. Learn to automate builds, tests, integration, and deployment with Travis CI, and enhance project workflows. Ideal for software developers, the course spans 960 minutes and offers Starter and Professional subscription options. Perfect for those aiming to optimize software development processes and achieve scalable automation.

Edward Raigosa