
Running GitHub Actions
Description
Book Introduction
A Comprehensive Guide to GitHub Actions to Maximize Developer Productivity
Reduce development time and improve collaboration efficiency with GitHub Actions! The author, an open source author, trainer, and DevOps director, explains how to use GitHub perfectly.
Learn what actions and workflows are and how to integrate them into your processes to simplify, standardize, and automate your development process.
Implement everything from code validation to complex deployment pipelines with GitHub Actions. Whether you're new to CI/CD or have been considering using GitHub Actions, this practical guide is designed to help you immediately apply it to your projects.
Let's transform your development process with GitHub Actions!
Reduce development time and improve collaboration efficiency with GitHub Actions! The author, an open source author, trainer, and DevOps director, explains how to use GitHub perfectly.
Learn what actions and workflows are and how to integrate them into your processes to simplify, standardize, and automate your development process.
Implement everything from code validation to complex deployment pipelines with GitHub Actions. Whether you're new to CI/CD or have been considering using GitHub Actions, this practical guide is designed to help you immediately apply it to your projects.
Let's transform your development process with GitHub Actions!
- You can preview some of the book's contents.
Preview
index
PART 1: The Basics of GitHub Actions
CHAPTER 1: BASICS
_1.1 GitHub Actions
__1.1.1 Automation Platform
__1.1.2 Framework
_1.2 Use Cases for GitHub Actions
__1.2.1 Starter Workflow
__1.2.2 Action Marketplace
_1.3 Usage Fees
__1.3.1 Free Model
__1.3.2 Paid Model
_1.4 GitHub Actions Migration Checklist
__1.4.1 GitHub Usage
__1.4.2 Public Action
__1.4.3 Self-made actions
__1.4.4 Artifact Management
__1.4.5 Action Management
_1.5 Conclusion
CHAPTER 2 How Actions Work
_2.1 Overview
_2.2 Workflow Trigger
_2.3 Components
__2.3.1 Step
__2.3.2 Runner
__2.3.3 Job
__2.3.4 Workflow
_2.4 Running the Workflow
_2.5 Conclusion
CHAPTER 3 JOB IMPLEMENTATION
_3.1 Action Structure
_3.2 Interaction with Actions
_3.3 How to use actions
_3.4 Public Actions and Marketplace
_3.5 Conclusion
CHAPTER 4: USING WORKFLOWS
_4.1 Creating a workflow from a repository
_4.2 Workflow Commit
_4.3 Using the GitHub Actions extension for VS Code
_4.4 Conclusion
CHAPTER 5 Runner
_5.1 GitHub Hosting Runner
__5.1.1 Support Software in Runner Image
__5.1.2 Adding Software to the Runner
_5.2 Self-hosted runner
__5.2.1 Requirements for a Self-Hosted Runner System
__5.2.2 Limitations of Self-Hosted Runners
__5.2.3 Self-Hosted Runner Security Considerations
__5.2.4 Setting up a self-hosted runner
__5.2.5 Using a Self-Hosted Runner
__5.2.6 Using Self-Hosted Runners and Labels
__5.2.7 Self-Hosted Runner Troubleshooting
__5.2.8 Removing the self-hosted runner
_5.3 Self-hosted Runner Autoscaling
_5.4 Just in Time Runner
_5.5 Conclusion
PART 2 Components of GitHub Actions
CHAPTER 6 MANAGING THE WORKFLOW ENVIRONMENT
_6.1 Workflow name and workflow execution name
_6.2 Context
_6.3 Environment Variables
__6.3.1 Basic environment variables
_6.4 Secret and Configuration Variables
_6.5 Workflow Permission Management
_6.6 Deployment Environment
_6.7 Conclusion
CHAPTER 7 Data Management in Workflows
_7.1 Using Input/Output in Workflows
__7.1.1 Defining and referencing inputs to a workflow
Check the output in step __7.1.2
__7.1.3 Checking the output of the job
Output of actions captured in step __7.1.4
_7.2 Artifact Definition
_7.3 Uploading and Downloading Artifacts
__7.3.1 Add parameter
_7.4 Using Cache in GitHub Actions
__7.4.1 Using Explicit Cache Actions
__7.4.2 Cache Monitoring
__7.4.3 Enabling caching in the settings action
_7.5 Conclusion
CHAPTER 8 MANAGING WORKFLOW EXECUTIVES
_8.1 Advanced Change Triggers
__8.1.1 Triggers by Activity Type
__8.1.2 Specifying triggers using filters
_8.2 Workflow Trigger Without Changes
_8.3 Concurrency Handling
_8.4 Running a Workflow with a Matrix
_8.5 Workflow-specific functions
__8.5.1 Conditional and State Functions
_8.6 Conclusion
PART 3 Security and Monitoring
CHAPTER 9 ACTION AND SECURITY
_9.1 Security through settings
__9.1.1 Managing Workflow Execution in Pull Requests
__9.1.2 Granting Workflow Permissions
__9.1.3 CODEOWNERS file
__9.1.4 Protected Tags
__9.1.5 Protected Branches
__9.1.6 Repository Rules
_9.2 Security by Design
__9.2.1 Secret Variables
__9.2.2 Protecting Secret Variables
__9.2.3 Token
__9.2.4 Handling Untrusted Input
__9.2.5 Dependency Security
_9.3 Security through Monitoring
__9.3.1 Scan
__9.3.2 Safely Processing Pull Requests
__9.3.3 Vulnerability in Workflow within Pull Requests
__9.3.4 Vulnerabilities in source code within pull requests
__9.3.5 Add pull request validation script
__9.3.6 Safe Pull Request Processing
_9.4 Conclusion
CHAPTER 10 MONITORING, LOGGING, AND DEBUGGING
_10.1 Visibility Improvements
__10.1.1 Understanding State at a High Level
__10.1.2 Status Badges for Workflows
_10.2 Status Operations Prior to Version
__10.2.1 Connect workflow version to execution
__10.2.2 Rerunning a job in a workflow
_10.3 Workflow Debugging
__10.3.1 Step-by-step debug logging
__10.3.2 Runner Environment Debugging
__10.3.3 Enable debugging
_10.4 Logging Extensions and Customization
__10.4.1 Add your own message to the log
__10.4.2 Additional Log Customization
__10.4.3 Custom Job Summary
_10.5 Conclusion
PART 4 Advanced Topics
CHAPTER 11 CUSTOM ACTIONS
_11.1 Action Structure Anatomy
_11.2 Action Types
__11.2.1 Compound Actions
__11.2.2 Docker Container Actions
__11.2.3 JavaScript Actions
_11.3 Finishing creating the action
_11.4 Posting Actions to GitHub Marketplace
__11.4.1 Action Updates in the Marketplace
__11.4.2 Removing Actions from the Marketplace
_11.5 Action Toolkit
__11.5.1 Using Workflow Commands in the Toolkit
_11.6 Local Action
_11.7 Conclusion
CHAPTER 12 ADVANCED WORKFLOW
_12.1 My Starter Workflow
__12.1.1 Starter Workflow Area
__12.1.2 Starter Workflow File
__12.1.3 Adding auxiliary pieces
__12.1.4 Using the New Starter Workflow
_12.2 Reusable Workflows
__12.2.1 Input and Secret Variables
__12.2.2 Output
__12.2.3 Limitations
_12.3 Required Workflow
__12.3.1 Constraints
__12.3.2 Example
__12.3.3 Execution
_12.4 Conclusion
CHAPTER 13 ADVANCED WORKFLOW TECHNIQUES
_13.1 Using GitHub in Your Workflow
__13.1.1 Using GitHub CLI
__13.1.2 Script
__13.1.3 GitHub API Calls
_13.2 Automatic job creation using matrices
__13.2.1 One-dimensional matrix
__13.2.2 Multidimensional matrix
__13.2.3 Include additional values
__13.2.4 Excluding values
__13.2.5 Handling Failure Cases
__13.2.6 Defining maximum job concurrency
_13.3 Using Containers in Workflows
__13.3.1 Using containers as job execution environments
__13.3.2 Using containers at the step level
__13.3.3 Running a container as a service in a job
_13.4 Conclusion
CHAPTER 14 Migrating to GitHub Actions
_14.1 Preparation
__14.1.1 Source Code
__14.1.2 Automation
__14.1.3 Infrastructure
__14.1.4 User
_14.2 Azure Pipeline
_14.3 CircleCI
_14.4 GitLab CI/CD
_14.5 Jenkins
_14.6 Travis CI
_14.7 GitHub Action Importer
__14.7.1 Authentication
__14.7.2 Plan
__14.7.3 Build Step Related Matters
__14.7.4 Manual To-Do
__14.7.5 File Manifest
__14.7.6 Prediction
__14.7.7 Performing a dry run
__14.7.8 Custom transformer for importer
__14.7.9 Actual Migration
_14.8 Conclusion
Search
CHAPTER 1: BASICS
_1.1 GitHub Actions
__1.1.1 Automation Platform
__1.1.2 Framework
_1.2 Use Cases for GitHub Actions
__1.2.1 Starter Workflow
__1.2.2 Action Marketplace
_1.3 Usage Fees
__1.3.1 Free Model
__1.3.2 Paid Model
_1.4 GitHub Actions Migration Checklist
__1.4.1 GitHub Usage
__1.4.2 Public Action
__1.4.3 Self-made actions
__1.4.4 Artifact Management
__1.4.5 Action Management
_1.5 Conclusion
CHAPTER 2 How Actions Work
_2.1 Overview
_2.2 Workflow Trigger
_2.3 Components
__2.3.1 Step
__2.3.2 Runner
__2.3.3 Job
__2.3.4 Workflow
_2.4 Running the Workflow
_2.5 Conclusion
CHAPTER 3 JOB IMPLEMENTATION
_3.1 Action Structure
_3.2 Interaction with Actions
_3.3 How to use actions
_3.4 Public Actions and Marketplace
_3.5 Conclusion
CHAPTER 4: USING WORKFLOWS
_4.1 Creating a workflow from a repository
_4.2 Workflow Commit
_4.3 Using the GitHub Actions extension for VS Code
_4.4 Conclusion
CHAPTER 5 Runner
_5.1 GitHub Hosting Runner
__5.1.1 Support Software in Runner Image
__5.1.2 Adding Software to the Runner
_5.2 Self-hosted runner
__5.2.1 Requirements for a Self-Hosted Runner System
__5.2.2 Limitations of Self-Hosted Runners
__5.2.3 Self-Hosted Runner Security Considerations
__5.2.4 Setting up a self-hosted runner
__5.2.5 Using a Self-Hosted Runner
__5.2.6 Using Self-Hosted Runners and Labels
__5.2.7 Self-Hosted Runner Troubleshooting
__5.2.8 Removing the self-hosted runner
_5.3 Self-hosted Runner Autoscaling
_5.4 Just in Time Runner
_5.5 Conclusion
PART 2 Components of GitHub Actions
CHAPTER 6 MANAGING THE WORKFLOW ENVIRONMENT
_6.1 Workflow name and workflow execution name
_6.2 Context
_6.3 Environment Variables
__6.3.1 Basic environment variables
_6.4 Secret and Configuration Variables
_6.5 Workflow Permission Management
_6.6 Deployment Environment
_6.7 Conclusion
CHAPTER 7 Data Management in Workflows
_7.1 Using Input/Output in Workflows
__7.1.1 Defining and referencing inputs to a workflow
Check the output in step __7.1.2
__7.1.3 Checking the output of the job
Output of actions captured in step __7.1.4
_7.2 Artifact Definition
_7.3 Uploading and Downloading Artifacts
__7.3.1 Add parameter
_7.4 Using Cache in GitHub Actions
__7.4.1 Using Explicit Cache Actions
__7.4.2 Cache Monitoring
__7.4.3 Enabling caching in the settings action
_7.5 Conclusion
CHAPTER 8 MANAGING WORKFLOW EXECUTIVES
_8.1 Advanced Change Triggers
__8.1.1 Triggers by Activity Type
__8.1.2 Specifying triggers using filters
_8.2 Workflow Trigger Without Changes
_8.3 Concurrency Handling
_8.4 Running a Workflow with a Matrix
_8.5 Workflow-specific functions
__8.5.1 Conditional and State Functions
_8.6 Conclusion
PART 3 Security and Monitoring
CHAPTER 9 ACTION AND SECURITY
_9.1 Security through settings
__9.1.1 Managing Workflow Execution in Pull Requests
__9.1.2 Granting Workflow Permissions
__9.1.3 CODEOWNERS file
__9.1.4 Protected Tags
__9.1.5 Protected Branches
__9.1.6 Repository Rules
_9.2 Security by Design
__9.2.1 Secret Variables
__9.2.2 Protecting Secret Variables
__9.2.3 Token
__9.2.4 Handling Untrusted Input
__9.2.5 Dependency Security
_9.3 Security through Monitoring
__9.3.1 Scan
__9.3.2 Safely Processing Pull Requests
__9.3.3 Vulnerability in Workflow within Pull Requests
__9.3.4 Vulnerabilities in source code within pull requests
__9.3.5 Add pull request validation script
__9.3.6 Safe Pull Request Processing
_9.4 Conclusion
CHAPTER 10 MONITORING, LOGGING, AND DEBUGGING
_10.1 Visibility Improvements
__10.1.1 Understanding State at a High Level
__10.1.2 Status Badges for Workflows
_10.2 Status Operations Prior to Version
__10.2.1 Connect workflow version to execution
__10.2.2 Rerunning a job in a workflow
_10.3 Workflow Debugging
__10.3.1 Step-by-step debug logging
__10.3.2 Runner Environment Debugging
__10.3.3 Enable debugging
_10.4 Logging Extensions and Customization
__10.4.1 Add your own message to the log
__10.4.2 Additional Log Customization
__10.4.3 Custom Job Summary
_10.5 Conclusion
PART 4 Advanced Topics
CHAPTER 11 CUSTOM ACTIONS
_11.1 Action Structure Anatomy
_11.2 Action Types
__11.2.1 Compound Actions
__11.2.2 Docker Container Actions
__11.2.3 JavaScript Actions
_11.3 Finishing creating the action
_11.4 Posting Actions to GitHub Marketplace
__11.4.1 Action Updates in the Marketplace
__11.4.2 Removing Actions from the Marketplace
_11.5 Action Toolkit
__11.5.1 Using Workflow Commands in the Toolkit
_11.6 Local Action
_11.7 Conclusion
CHAPTER 12 ADVANCED WORKFLOW
_12.1 My Starter Workflow
__12.1.1 Starter Workflow Area
__12.1.2 Starter Workflow File
__12.1.3 Adding auxiliary pieces
__12.1.4 Using the New Starter Workflow
_12.2 Reusable Workflows
__12.2.1 Input and Secret Variables
__12.2.2 Output
__12.2.3 Limitations
_12.3 Required Workflow
__12.3.1 Constraints
__12.3.2 Example
__12.3.3 Execution
_12.4 Conclusion
CHAPTER 13 ADVANCED WORKFLOW TECHNIQUES
_13.1 Using GitHub in Your Workflow
__13.1.1 Using GitHub CLI
__13.1.2 Script
__13.1.3 GitHub API Calls
_13.2 Automatic job creation using matrices
__13.2.1 One-dimensional matrix
__13.2.2 Multidimensional matrix
__13.2.3 Include additional values
__13.2.4 Excluding values
__13.2.5 Handling Failure Cases
__13.2.6 Defining maximum job concurrency
_13.3 Using Containers in Workflows
__13.3.1 Using containers as job execution environments
__13.3.2 Using containers at the step level
__13.3.3 Running a container as a service in a job
_13.4 Conclusion
CHAPTER 14 Migrating to GitHub Actions
_14.1 Preparation
__14.1.1 Source Code
__14.1.2 Automation
__14.1.3 Infrastructure
__14.1.4 User
_14.2 Azure Pipeline
_14.3 CircleCI
_14.4 GitLab CI/CD
_14.5 Jenkins
_14.6 Travis CI
_14.7 GitHub Action Importer
__14.7.1 Authentication
__14.7.2 Plan
__14.7.3 Build Step Related Matters
__14.7.4 Manual To-Do
__14.7.5 File Manifest
__14.7.6 Prediction
__14.7.7 Performing a dry run
__14.7.8 Custom transformer for importer
__14.7.9 Actual Migration
_14.8 Conclusion
Search
Detailed image

Publisher's Review
The starting point of project automation,
GitHub Actions
GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that lets you automate your build, test, and deployment pipelines.
Developers who use GitHub extensively can implement automation using GitHub Actions without using any other applications.
This book covers everything from basic automation methods to security and advanced topics.
Part 1.
GitHub Actions Basics
We introduce the definition and basic operation of GitHub Actions, the core elements of the framework, and the overall flow.
It lays a solid foundation that even readers new to GitHub Actions can use without difficulty.
Part 2.
Components of GitHub Actions
Expand your knowledge of Actions by learning about the various components needed to set up, share and store data, trigger and control workflow execution in GitHub Actions.
Part 3.
Security and Monitoring
We examine the security required for using GitHub Actions from three perspectives: setup, design, and monitoring.
We'll take a closer look at monitoring itself, explaining the various options used for logging and the techniques used to debug issues.
Part 4.
Advanced topics
This article covers a variety of topics that you might want to know about when using GitHub Actions, including creating custom actions, creating starter and reusable workflows, using the GitHub CLI and API, and using matrix strategies and containers in your workflows.
Additionally, the final chapter explores how to migrate from other automation tools to GitHub Actions.
Target audience
● If you are new to GitHub and want to know how automation works
● Anyone who wants help implementing the code and syntax that actually makes up a workflow with GitHub Actions
● Those who want to understand and evaluate the introduction of GitHub Actions for CI/CD and automation.
● Those who want to migrate their current CI/CD solution to GitHub Actions
What you learn
● Writing custom actions using Docker, JavaScript, and shell
● How to troubleshoot and debug issues that occur in the workflow
● How to safely implement workflows with GitHub Actions
How to migrate from other CI/CD platforms to GitHub Actions
Author's Note
GitHub Actions are difficult to define or categorize outside of GitHub itself.
It would be more accurate to say that it is a logical extension of the GitHub model.
This book isn't a guide to the principles of GitHub, but it does try to explain how GitHub Actions work together across the entire GitHub ecosystem in a way that's easy to understand, regardless of your level of automation experience with GitHub.
Brent Lasseter
GitHub Actions
GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that lets you automate your build, test, and deployment pipelines.
Developers who use GitHub extensively can implement automation using GitHub Actions without using any other applications.
This book covers everything from basic automation methods to security and advanced topics.
Part 1.
GitHub Actions Basics
We introduce the definition and basic operation of GitHub Actions, the core elements of the framework, and the overall flow.
It lays a solid foundation that even readers new to GitHub Actions can use without difficulty.
Part 2.
Components of GitHub Actions
Expand your knowledge of Actions by learning about the various components needed to set up, share and store data, trigger and control workflow execution in GitHub Actions.
Part 3.
Security and Monitoring
We examine the security required for using GitHub Actions from three perspectives: setup, design, and monitoring.
We'll take a closer look at monitoring itself, explaining the various options used for logging and the techniques used to debug issues.
Part 4.
Advanced topics
This article covers a variety of topics that you might want to know about when using GitHub Actions, including creating custom actions, creating starter and reusable workflows, using the GitHub CLI and API, and using matrix strategies and containers in your workflows.
Additionally, the final chapter explores how to migrate from other automation tools to GitHub Actions.
Target audience
● If you are new to GitHub and want to know how automation works
● Anyone who wants help implementing the code and syntax that actually makes up a workflow with GitHub Actions
● Those who want to understand and evaluate the introduction of GitHub Actions for CI/CD and automation.
● Those who want to migrate their current CI/CD solution to GitHub Actions
What you learn
● Writing custom actions using Docker, JavaScript, and shell
● How to troubleshoot and debug issues that occur in the workflow
● How to safely implement workflows with GitHub Actions
How to migrate from other CI/CD platforms to GitHub Actions
Author's Note
GitHub Actions are difficult to define or categorize outside of GitHub itself.
It would be more accurate to say that it is a logical extension of the GitHub model.
This book isn't a guide to the principles of GitHub, but it does try to explain how GitHub Actions work together across the entire GitHub ecosystem in a way that's easy to understand, regardless of your level of automation experience with GitHub.
Brent Lasseter
GOODS SPECIFICS
- Date of issue: May 20, 2024
- Page count, weight, size: 420 pages | 648g | 183*235*15mm
- ISBN13: 9791169212458
- ISBN10: 116921245X
You may also like
카테고리
korean
korean