Chapter 1: Introduction to GitHub Actions Chapter Goal: Give conceptual overview on CI CD while elaborating on the need of software delivery automation and basic concepts of GitHub Actions.
No of pages: 15
Sub -Topics
1. Introducing Concepts (CI/CD)
2. Why we need SW Delivery Automation?
3. What are GitHub Actions?
4. Identifying core concepts in GitHub Actions 5. GitHub hosted runners.
Chapter 2: Getting started with GitHub Actions Workflows Chapter Goal: Introduction to GitHub Actions workflows.
No of pages: 25
Sub - Topics
1. Using preconfigured workflow templates
2. Using Marketplace Actions to create workflows
3. Building a .NET Core Web App with GitHub Actions
4. Understanding the structure of a Workflow (jobs, actions, set job dependencies etc.)
5. Setting up continuous integration using GitHub actions
Chapter 3: Variables and Secrets with GitHub Actions Chapter Goal: Lessons to provide hands-on guidance using variables and secrets in a GitHib workflow.
No of pages: 15
Sub - Topics:
1. Defining and using variables
2. Understanding the default variables usage
3. Naming conventions for variables
4. Defining and using secrets
Chapter 4: Using Tokens Chapter Goal: Understanding the use of system token and the personal access tokens to work with GitHub repos and issues via the REST API in GitHub Actions workflow.
No of pages: 15
Sub - Topics:
1. Using GITHUB_TOKEN
2. Creating a Personal Access Token
3. Using Personal Access Token in workflow
Chapter 5: Artifacts and Caching Dependencies No of pages: 20
Sub - Topics:
1. Storing content in Artifacts
2. Using artifacts in subsequent jobs
3. Uploading to external artifact store and using them in other workflows 4. Deleting artifacts
5. Caching workflow dependencies (compare caching and artifacts, using cache action and matching cache keys)
6. Limitations and eviction policy in caching
Chapter 6: Using Self-Hosted Runners Chapter Goal: Setting up your own hardware and software to run GitHub actions..
No of pages: 30
Sub - Topics:
1. Understanding self-hosted runners
2. Configuring and adding/removing self-hosted runners GitHub.
3. Self-hosted runners with proxy
4. Using labels to organize self-hosted run
About the Author:
Chaminda Chandrasekara is a Microsoft Most Valuable Professional (MVP) for Visual Studio ALM and Scrum Alliance Certified ScrumMaster(R), and focuses on and believes in continuous improvement of the software development life cycle. He is the Cloud Development and DevOps Architect at eKriegers (Pvt) Ltd. Chaminda is an active Microsoft Community Contributor (MCC) who is well recognized for his contributions in Microsoft forums, TechNet galleries, wikis, and Stack Overflow and he contributes extensions to Azure DevOps Server and Services (former VSTS/TFS) in the Microsoft Visual Studio Marketplace. He also contributes to other open source projects in GitHub. Chaminda has published six books with Apress.
Pushpa Herath is a Microsoft Most Valuable Professional (MVP) working as a Senior DevOps Engineer at 99x. She has many years of experience in Azure DevOps Server and Services (formerly VSTS/TFS), Azure cloud platform and QA Automation. She is an expert in DevOps currently leading Sri Lanka DevOps community, and she has shown in depth knowledge in Azure cloud platform tools in her community activities. She has published four books with Apress and spoken in community evets as well as in the youtube channel of her Sri Lanka DevOps community. Pushpa blogs on technology at DevOps Adventure.