دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Eric Chapman
سری:
ISBN (شابک) : 9781805128625
ناشر: Packt Publishing Pvt Ltd
سال نشر: 2024
تعداد صفحات: 0
زبان: English
فرمت فایل : EPUB (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 23 مگابایت
در صورت تبدیل فایل کتاب Mastering GitHub Actions: Advance your automation skills with the latest techniques for software integration and deployment به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب تسلط بر GitHub Actions: مهارت های اتوماسیون خود را با جدیدترین تکنیک ها برای یکپارچه سازی و استقرار نرم افزار ارتقا دهید. نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Mastering GitHub Actions
Contributors
About the author
About the reviewers
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Conventions used
Get in touch
Share Your Thoughts
Download a free PDF copy of this book
Part 1:Centralized Workflows to Assist with Governance
1
An Overview of GitHub and GitHub Actions
Technical requirements
Exploring the GitHub platform
Walk-through of the overview interface and features
The different types of accounts on GitHub
Creating a personal GitHub account
The different types of plans on GitHub
GitHub Free
GitHub Team
GitHub Enterprise
Creating an organization account
A brief introduction to GitHub Actions
An overview of organization accounts
Managing teams
Organization defaults
GitHub Actions
The .github repository
Templates and reusable workflow repositories
Reusable workflows
Workflow templates
Summary
2
Exploring Workflows
Technical requirements
Exploring workflow capabilities
Events or triggers
Jobs
Steps
Features of a workflow
Using events to trigger workflows
Workflow structuring and good habits
Exploring workflow jobs
Understanding how jobs work
Running jobs in a container
Running services
Summary
3
Deep Dive into Reusable Workflows and Composite Actions
Technical requirements
Setting up the CLI
Introducing reusable workflows
Reusable workflows versus normal workflows
Use cases for reusable workflows
Limitations of reusable workflows
Understanding composite actions
Key concepts of composite actions
Use cases for composite actions
Limitations of composite actions
Creating a reusable build pipeline
Marking a workflow as a reusable workflow
Creating a local composite action
Debugging techniques for workflows
act workflow debugging tool
Visual Studio Code GitHub Actions plugin
Debugging event data
Runner diagnostic logging
Step debug logging
Workflow monitoring and alerting
GitHub notification capabilities
Integrating GitHub Actions with Slack
Datadog
Summary
4
Workflow Personalization Using GitHub Apps
Technical requirements
GitHub token options
GitHub App tokens
GitHub personal access tokens
Workflow tokens
Creating a GitHub App
Installing and managing the App’s credentials
Leveraging a GitHub App in various use cases
Summary
5
Utilizing Starter Workflows in Your Team
Technical requirements
What are starter workflows?
Accessing starter workflows
Starter workflows in a private repository
Creating our starter workflow
Utilizing our starter workflow
Applications of self-service reusable workflows
Summary
Part 2: Implementing Advanced Patterns within Actions
6
Using HashiCorp Vault in GitHub
Technical requirements
Understanding what OIDC is
How to get an Identity token in a workflow
OIDC in reusable workflows
Setting up a HashiCorp Cloud Vault instance
What is HashiCorp Cloud Vault?
Creating a HashiCorp Cloud Platform account
Accessing your Vault cluster
Understanding secret engines and where secrets are stored
Creating a secret in Vault that GitHub Actions can access
Adding our Slack API token as a secret
Enabling JWT authentication in HashiCorp
Enabling JWT for GitHub-produced tokens
What is JWKS?
Creating a HashiCorp secret policy
Creating a HashiCorp JWT role
Setting up a workflow to use HashiCorp
Exploring other security hardening techniques
Implementing CODEOWNERS
OIDC action recommendations
HashiCorp actions recommendations
Azure Key Vault
Summary
7
Deploying to Azure Using OpenID Connect
Technical requirements
Exploring our infrastructure using Bicep
Why Bicep?
Understanding the components of Bicep
Azure infrastructure requirements
Deploying locally with the Azure CLI
Understanding the folder structure
Deploying our resource group with the Azure CLI
Deploying our container registry with the Azure CLI
Deploying our container instance with the Azure CLI
Deploying infrastructure alongside our application code
The teardown
Adding infrastructure to our repository
Best practices and areas for improvement
Reusable workflows for applications and infrastructure
Authorizing our deployments with Azure and OIDC
Subject patterns and their limitations
Using OIDC for Azure in the reusable workflow
Correcting the trust
Summary
8
Working with Checks
Technical requirements
Exploring check suites and checks
What are checks?
Introducing check suites
Interacting with the Checks API
Understanding commit statuses
What are commit statuses?
Interacting with commit statuses
When should we use commit statuses over checks?
Creating checks and check suites
Understanding how check suites work
Working with the GitHub API
Creating a check
Failing and passing checks
Conclusions
Playing with check outcomes
Creating custom actions
What makes an action an action?
Types of actions
Defining outputs in actions
Let’s create an action
Putting our action to use
Exploring further action opportunities
Branding
Creating/updating check runs
Controlling check failures
Creating checks with different tokens
Summary
9
Annotating Code with Actions
Technical requirements
Exploring annotations within checks
The structure of an annotation
Creating annotations on a check run
Understanding the validation rules for annotations
Annotations in action
Introducing annotation support for our RichChecks action
Creating annotations from build output
Infrastructure linting
Displaying our results
Creating annotations from a GitHub App using Probot
Exploring Probot-powered apps
The importance of a spell checker
Summary
10
Advancing with Event-Driven Workflows
Technical requirements
Understanding GitHub events more deeply
The core of GitHub event payloads
Tailored automation with events
Creating an issue from a pull request
Subscribing to the event
Introducing the GitHub Issues API
Creating an issue
Linking pull requests to issues
Promoting your new releases
What are GitHub releases?
Creating a release manually
Subscribing to the event
Creating the communication
Targeting published releases
Designing a chatbot using ChatGPT
Subscribing to the event and collecting the data
Creating a conversation with OpenAIs APIs
Helpful AI actions and apps
Code Autopilot – AI coder
OpenCommit
Summary
11
Setting Up Self-Hosted Runners
Technical requirements
Exploring self-hosted runners
Action runner variants
Action runner groups
Deploying self-hosted runners
A local runner in action
Exploring ARC
How does it work?
Scaling options
Monitoring and troubleshooting
Running ARC locally
A brief overview of Kubernetes
Understanding the importance of containers
Setting up Minikube
Installing Helm
Deploying ARC on Minikube
Using the cloud for your runs
Setting up Kubernetes using Bicep
Setting up a GitHub App
Deploying the new ARC
Advanced techniques with ARC
Scaling in ARC
Running within a proxy
Runner labels
Customizing the runner specification
Observing our self-hosted infrastructure
Housekeeping
Summary
Part 3: Best Practices, Patterns, Tricks, and Tips Toolkit
12
The Crawler Pattern
Technical requirements
Introducing the crawler pattern
How does this pattern work?
Methods of feeding the matrix
Making bulk repository changes
Adding permissions to all repositories
Adding branch protection
Making bulk content changes
Understanding the workflow
Rolling out content in bulk
Summary
13
The Configuration Centralization Pattern
Technical requirements
Understanding the central configuration pattern
Creating a repository indexer
Schedules in GitHub workflows
Setting up the indexer
Hosting the results using GitHub Pages
Configuring the repository for GitHub Pages
Creating the action for the deployment
Where to go next
Summary
14
Using Remote Workflows to Kickstart Your Products
Technical requirements
Introducing repository dispatch events
Advantages of repository dispatch events
Requirements for creating a repository dispatch event
Setting up a repository dispatch workflow
Understanding product kickstarters
A brief overview of product kickstarters
Creating template repositories
Building a kickstarter template
Internal developer portal and other use cases
Adding portal visibility for developers
Exploring other use cases
Summary
15
Housekeeping Tips for Your Organization
Technical requirements
Managing GitHub costs
GitHub spending limits
Alerting on usage
Usage monitoring
Workflow usage across the organization
Optimizing uploads and downloads
Compressible artifact action
Methods for eliminating GitHub storage
Useful reporting techniques for your organization
Creating a dormant user report
Creating a user member contribution report
Managing your action updates with Dependabot
Summary
16
Handy Workflows for Managing Your Software
Technical requirements
Exploring commit and pull request linters
PR linters
Commit linters
SBOM generation as part of release management
Your actions toolkit
Building and deploying pipelines
Community action lists
GitHub certifications
Summary
Index
Why subscribe?
Other Books You May Enjoy
Packt is searching for authors like you
Share Your Thoughts
Download a free PDF copy of this book