Book Image

Mastering GitHub Actions

By : Eric Chapman
Book Image

Mastering GitHub Actions

By: Eric Chapman

Overview of this book

Navigating GitHub Actions often leaves developers grappling with inefficiencies and collaboration bottlenecks. Mastering GitHub Actions offers solutions to these challenges, ensuring smoother software development. With 16 extensive chapters, this book simplifies GitHub Actions, walking you through its vast capabilities, from team and enterprise features to organization defaults, self-hosted runners, and monitoring tools. You’ll learn how to craft reusable workflows, design bespoke templates, publish actions, incorporate external services, and introduce enhanced security measures. Through hands-on examples, you’ll gain best-practice insights for team-based GitHub Actions workflows and discover strategies for maximizing organization accounts. Whether you’re a software engineer or a DevOps guru, by the end of this book, you'll be adept at amplifying productivity and leveraging automation's might to refine your development process.
Table of Contents (22 chapters)
Free Chapter
1
Part 1:Centralized Workflows to Assist with Governance
7
Part 2: Implementing Advanced Patterns within Actions
14
Part 3: Best Practices, Patterns, Tricks, and Tips Toolkit

Installing and managing the App’s credentials

When it comes to controlling access to sensitive information in GitHub, there are two approaches:

  • Explicit and manual management: This involves specifying who can access the information and requires frequent manual updates
  • Accessible and easy-to-manage options: This approach allows broader access, but it should be approached with caution to avoid unintended exposure of sensitive data to unauthorized users.

While organizational-level secrets can serve some use cases, it is essential to evaluate the level of scrutiny applied to prevent potential abuse. It is crucial to securely store application credentials and limit their exposure only to the necessary contexts and use cases. A couple of example use cases are as follows:

  • Using a common application to invoke a workflow on a centralized repository as part of an onboarding exercise
  • Using a secret to reference a tenant ID of a company in a cloud provider...