Overview

In this course, you'll learn the basics of GitHub and gain a better understanding of its fundamental features with a hands-on exercise all within a GitHub repository. You'll learn best practices for building, hosting, and maintaining a secure repository on GitHub.

Audience Profile

This course is intended for students who want to understand GitHub best practices and fundamental features.

Syllabus

Learn to use key GitHub features, including issues, notifications, branches, commits, and pull requests.

Learning Objectives
  • Identify the fundamental features of GitHub.
  • Learn about repository management.
  • Gain an understanding of the GitHub flow, which includes branches, commits, and pull requests.
  • Explore the collaborative features of GitHub by reviewing issues and discussions.
  • Recognize how to manage your GitHub notifications and subscriptions.

Understand the security and control measures available to GitHub administrators within an organization or enterprise.

Learning Objectives
  • Summarize the organizational structures and permission levels that GitHub administrators can use to control access and security.
  • Identify authentication strategies that allow administrators to centrally manage repository access.
  • Describe the technologies required to centrally manage teams and members using directory information services.
  • Describe how GitHub acts as an identity provider for authentication and authorization.

Overview of GitHub products, account types, features, billing, and using GitHub Desktop and GitHub Mobile.

Learning Objectives
  • Define Personal, Organization, and Enterprise GitHub accounts.
  • Explain GitHub plans and payment/billing options.
  • Distinguish GitHub Mobile and GitHub Desktop features.
  • Describe an overview of GitHub billing.

Best practices for building, hosting, and maintaining a secure repository on GitHub.

Learning Objectives
  • Identify tools and GitHub features to establish a secure development strategy.
  • Enable vulnerable dependency detection for private repositories.
  • Detect and fix outdated dependencies with security vulnerabilities.
  • Automate dependency scanning with Dependabot.
  • Add a SECURITY.md file.
  • Remove commits exposing sensitive data.

Prepare repositories for secure development and industry-standard incident response.

Learning Objectives
  • Create documentation with security guidelines.
  • Set permissions and rules.
  • Automate policies to prevent breaches.
  • Respond to security breaches.

Authentication and authorization options for GitHub organizations and GitHub Enterprise.

Learning Objectives
  • Describe the Authentication and Authorization Model.
  • Manage access to organizations using auth-tools.
  • Identify supported identity providers.
  • Understand SAML SSO implications.
  • Explain Team Synchronization benefits.

Features and practices to improve GitHub Enterprise administrative operations.

Learning Objectives
  • Configure SAML SSO and GitHub Connect.
  • Automate security and version updates.
  • Identify when to engage GitHub Enterprise Support.
  • Recognize advantages of GitHub Enterprise Managed Users.

Enterprise-level management of GitHub Actions, workflows, runners, and secrets.

Learning Objectives
  • Manage actions/workflows at enterprise and organisation levels.
  • Evaluate different runner types.
  • Configure self-hosted runners.
  • Use encrypted secrets securely.

Automatically and securely publish code libraries or Docker images with GitHub Packages.

Learning Objectives
  • Understand package repositories and when to use them.
  • Publish to GitHub Packages with CI workflows.
  • Run Docker images locally from GitHub Packages.
  • Authenticate, install and manage GitHub Packages.