
Practical CI/CD Design and Operation with GitHub Actions
Description
Book Introduction
From a developer who deals with automation to a developer who designs automation
Automating your testing, release, and deployment processes will not only speed up development but also improve collaboration.
GitHub Actions is a powerful tool for implementing automation in code. It goes beyond simply saving time and allows you to design your own development environment.
Selected as one of the top 10 technical books in the 2025 Japan IT Engineer Book Awards, this book covers how to design and operate a practical CI/CD system using GitHub Actions.
It systematically explains key elements such as workflow configuration, release automation, cloud integration, and security strategy, and presents methods for designing a maintainable automation system through various practical examples.
It will serve as a solid guide for developers who want to simplify complex workflows and build their own automation systems.
Automating your testing, release, and deployment processes will not only speed up development but also improve collaboration.
GitHub Actions is a powerful tool for implementing automation in code. It goes beyond simply saving time and allows you to design your own development environment.
Selected as one of the top 10 technical books in the 2025 Japan IT Engineer Book Awards, this book covers how to design and operate a practical CI/CD system using GitHub Actions.
It systematically explains key elements such as workflow configuration, release automation, cloud integration, and security strategy, and presents methods for designing a maintainable automation system through various practical examples.
It will serve as a solid guide for developers who want to simplify complex workflows and build their own automation systems.
- You can preview some of the book's contents.
Preview
index
Translator's Preface xvi
Beta Reader Review xvii
Acknowledgements xxi
About this book xxii
PART I: Basics 1
CHAPTER 1 Software Development and GitHub 3
1.1 Software Development 3
1.2 CI/CD 4
1.3 GitHub 8
1.4 Setting up the environment 11
1.5 Summary 14
CHAPTER 2: Basic Concepts of GitHub Actions 16
2.1 Let's start with GitHub Actions 16
2.2 Components of GitHub Actions 18
2.3 Running GitHub Actions 21
2.4 GitHub Actions Error 23
2.5 How to Run a Workflow 26
2.6 Managing Workflow Execution 29
2.7 Job Execution Environment 31
2.8 Action 34
2.9 GitHub Actions' Billing Model 35
2.10 Summary 36
[COLUMN] References: Basic Technology 37
CHAPTER 3 Workflow Syntax Basics 38
3.1 Context 38
3.2 Environment Variables 40
3.3 Variable 43
3.4 Secret 45
3.5 Equation 48
3.6 Function 50
3.7 Conditional Branching 53
3.8 Naming Conventions 54
3.9 Data sharing between steps 56
3.10 Running the GitHub API 58
[COLUMN] Source Code Read Permissions and Repository Types 62
3.11 Starter Workflow 63
3.12 Summary 65
CHAPTER 4 CI Implementation 66
4.1 Running CI using pull requests 66
4.2 Automated Testing 68
4.3 Event Filtering 73
4.4 Setup Action 75
4.5 Static Analysis 78
4.6 Timeout 81
4.7 Shell 81
4.8 concurrency 83
4.9 CI's Golden Rule 86
4.10 How to Run Automated Tests 88
4.11 How Static Analysis Works 92
[COLUMN] Recording Reasons for Suppression 92
4.12 Summary 93
[COLUMN] References: Testing and Documentation 94
CHAPTER 5 Designing Easy-to-Operate Workflows 95
5.1 Toolkit for Workflow Design 95
5.2 Log 96
5.3 Report 101
5.4 Chat Notifications 103
5.5 Controlling the Execution of Multiple Jobs 105
5.6 Matrix 108
5.7 Environments 111
[COLUMN] There are three types of variables and secrets 115
5.8 Cache 115
5.9 Artifact 120
5.10 Summary 123
CHAPTER 6 Modularization with Actions 124
6.1 Classification of Actions 124
6.2 Compound Action 126
6.3 Metadata Syntax 129
6.4 Differences between Metadata Syntax and Workflow Syntax 132
6.5 Action Design Techniques 134
[COLUMN] Actions and Node.js Version 137
6.6 Summary 137
[COLUMN] References: Software Design 138
PART II: PRACTICAL 139
CHAPTER 7 Maintaining a Clean Repository 141
7.1 Code Review 141
7.2 Branch Protection 142
7.3 Maintaining a Sense of Ownership 146
7.4 Preventing Credential Intrusion 148
7.5 Documentation 151
7.6 Summary 153
CHAPTER 8 Updating Dependencies with Dependabot 154
8.1 Dependencies 154
8.2 Dependabot 156
8.3 Automatic Merging via GitHub Actions 162
8.4 Dependabot's Workflow Design 167
Scope of impact of version 8.5 update 169
8.6 Automatic Merge Strategy 171
[COLUMN] Those who ignore the delimiter will cry because of the delimiter 172
8.7 Summary 173
CHAPTER 9 Automating Releases with GitHub Releases 174
9.1 Software Release 174
9.2 Version Control 175
9.3 Notice 177
9.4 GitHub Release 179
9.5 Automatically generated release notes 181
9.6 Release Automation 185
9.7 Git Tag Protection 189
9.8 Summary 192
[COLUMN] References: Software Development 193
CHAPTER 10: Package Management with GitHub Packages 194
10.1 Package 194
10.2 GitHub Package 196
10.3 Container Registry 197
10.4 GitHub Package Management 199
10.5 Automatic Linking and Permission Inheritance in Packages 202
10.6 Automatically Releasing Container Images 205
10.7 Summary 211
[COLUMN] References: Container Technology 212
CHAPTER 11 Secure Cloud Integration with OpenID Connect 213
11.1 Cloud Service Authentication Information 213
11.2 OpenID Connect 215
11.3 Risk Management for Verification Work 218
[COLUMN] Cloud Security 219
11.4 Preparing to Use OpenID Connect on AWS 220
11.5 AWS Integration Using OpenID Connect 225
11.6 Secure Operation of Cloud Roles 230
11.7 Summary 231
[COLUMN] References: Infrastructure 232
CHAPTER 12 CONTAINER ORCHESTRATING AND Deployment 233
12.1 Service 233
12.2 Building the Execution Environment 235
12.3 Managing Variables for Distribution Information 240
12.3.1 Checking Deployment Information 241 / 12.3.2 Registering Deployment Information 242
12.4 Deployment Automation 242
[COLUMN] Node 16-Based Action 243
Deploying to Multiple Environments Using 12.5 Environments 250
12.6 Deployment Design 255
12.7 Summary 256
CHAPTER 13 Open-Sourcing Actions 257
13.1 Action Release 257
13.2 Action Test 261
13.3 Release Management of Actions 265
13.4 Documenting Actions 269
13.5 Released on GitHub Marketplace 270
13.6 The Evolutionary Process of Action 273
13.7 Summary 275
[COLUMN] References: Operations 275
PART III APPLICATIONS 277
CHAPTER 14 Advanced Uses of GitHub Actions 279
14.1 Reusable Workflows 279
14.2 Defining Dynamic Workflows 288
14.3 Error Handling 290
14.4 Flow Control Through Context 292
14.5 Private Actions and Private Reusable Workflows 295
14.6 Summary 296
[COLUMN] References: Security 297
CHAPTER 15 Security in GitHub Actions 298
15.1 Software Supply Chain 298
15.2 Security Design Principles 300
15.3 GitHub's Service Characteristics 301
15.4 Repository Protection 302
15.5 Security of External Actions 304
15.6 Script Injection 308
15.7 Minimum Privileges 309
15.8 Secret Management 311
15.9 Fork Pull Request Countermeasure 313
15.10 OpenID Connect Configuration 315
[COLUMN] Push Rule 322
15.11 Summary 323
CHAPTER 16 Shifting Left in Security 324
16.1 Shift Left 324
16.2 Scanning for Vulnerabilities in Dependencies 325
16.3 Secret Protection 330
16.4 Application Security 333
[COLUMN] Scanning Container Registries for Vulnerabilities 335
16.5 IaC Security 335
16.6 Continuous Security Improvements 338
16.7 Summary 339
CHAPTER 17 Accessing Other Repositories Using GitHub App Tokens 340
17.1 GitHub Authentication Information 340
17.2 GitHub App Token 342
17.3 Accessing Other Repositories 347
[COLUMN] Delete your secret key quickly 348
[COLUMN] 350 for the curious reader
17.4 How GitHub App Tokens Are Generated 350
17.5 GitHub App Token Operational Techniques 357
17.6 Summary 360
[COLUMN] References: Systems Design 360
CHAPTER 18 CD Practice 361
18.1 Organizational Performance 361
18.2 Version Control Strategy 363
18.3 Testing Strategy 364
18.4 Release Strategy 365
18.5 Database Change Management 366
18.6 Change Management in IaC 367
18.7 Loosely Coupled Architecture 369
18.8 Don't forget to operate 370
18.9 Continuous Learning 371
18.10 Summary 372
In conclusion 373
Search 375
Beta Reader Review xvii
Acknowledgements xxi
About this book xxii
PART I: Basics 1
CHAPTER 1 Software Development and GitHub 3
1.1 Software Development 3
1.2 CI/CD 4
1.3 GitHub 8
1.4 Setting up the environment 11
1.5 Summary 14
CHAPTER 2: Basic Concepts of GitHub Actions 16
2.1 Let's start with GitHub Actions 16
2.2 Components of GitHub Actions 18
2.3 Running GitHub Actions 21
2.4 GitHub Actions Error 23
2.5 How to Run a Workflow 26
2.6 Managing Workflow Execution 29
2.7 Job Execution Environment 31
2.8 Action 34
2.9 GitHub Actions' Billing Model 35
2.10 Summary 36
[COLUMN] References: Basic Technology 37
CHAPTER 3 Workflow Syntax Basics 38
3.1 Context 38
3.2 Environment Variables 40
3.3 Variable 43
3.4 Secret 45
3.5 Equation 48
3.6 Function 50
3.7 Conditional Branching 53
3.8 Naming Conventions 54
3.9 Data sharing between steps 56
3.10 Running the GitHub API 58
[COLUMN] Source Code Read Permissions and Repository Types 62
3.11 Starter Workflow 63
3.12 Summary 65
CHAPTER 4 CI Implementation 66
4.1 Running CI using pull requests 66
4.2 Automated Testing 68
4.3 Event Filtering 73
4.4 Setup Action 75
4.5 Static Analysis 78
4.6 Timeout 81
4.7 Shell 81
4.8 concurrency 83
4.9 CI's Golden Rule 86
4.10 How to Run Automated Tests 88
4.11 How Static Analysis Works 92
[COLUMN] Recording Reasons for Suppression 92
4.12 Summary 93
[COLUMN] References: Testing and Documentation 94
CHAPTER 5 Designing Easy-to-Operate Workflows 95
5.1 Toolkit for Workflow Design 95
5.2 Log 96
5.3 Report 101
5.4 Chat Notifications 103
5.5 Controlling the Execution of Multiple Jobs 105
5.6 Matrix 108
5.7 Environments 111
[COLUMN] There are three types of variables and secrets 115
5.8 Cache 115
5.9 Artifact 120
5.10 Summary 123
CHAPTER 6 Modularization with Actions 124
6.1 Classification of Actions 124
6.2 Compound Action 126
6.3 Metadata Syntax 129
6.4 Differences between Metadata Syntax and Workflow Syntax 132
6.5 Action Design Techniques 134
[COLUMN] Actions and Node.js Version 137
6.6 Summary 137
[COLUMN] References: Software Design 138
PART II: PRACTICAL 139
CHAPTER 7 Maintaining a Clean Repository 141
7.1 Code Review 141
7.2 Branch Protection 142
7.3 Maintaining a Sense of Ownership 146
7.4 Preventing Credential Intrusion 148
7.5 Documentation 151
7.6 Summary 153
CHAPTER 8 Updating Dependencies with Dependabot 154
8.1 Dependencies 154
8.2 Dependabot 156
8.3 Automatic Merging via GitHub Actions 162
8.4 Dependabot's Workflow Design 167
Scope of impact of version 8.5 update 169
8.6 Automatic Merge Strategy 171
[COLUMN] Those who ignore the delimiter will cry because of the delimiter 172
8.7 Summary 173
CHAPTER 9 Automating Releases with GitHub Releases 174
9.1 Software Release 174
9.2 Version Control 175
9.3 Notice 177
9.4 GitHub Release 179
9.5 Automatically generated release notes 181
9.6 Release Automation 185
9.7 Git Tag Protection 189
9.8 Summary 192
[COLUMN] References: Software Development 193
CHAPTER 10: Package Management with GitHub Packages 194
10.1 Package 194
10.2 GitHub Package 196
10.3 Container Registry 197
10.4 GitHub Package Management 199
10.5 Automatic Linking and Permission Inheritance in Packages 202
10.6 Automatically Releasing Container Images 205
10.7 Summary 211
[COLUMN] References: Container Technology 212
CHAPTER 11 Secure Cloud Integration with OpenID Connect 213
11.1 Cloud Service Authentication Information 213
11.2 OpenID Connect 215
11.3 Risk Management for Verification Work 218
[COLUMN] Cloud Security 219
11.4 Preparing to Use OpenID Connect on AWS 220
11.5 AWS Integration Using OpenID Connect 225
11.6 Secure Operation of Cloud Roles 230
11.7 Summary 231
[COLUMN] References: Infrastructure 232
CHAPTER 12 CONTAINER ORCHESTRATING AND Deployment 233
12.1 Service 233
12.2 Building the Execution Environment 235
12.3 Managing Variables for Distribution Information 240
12.3.1 Checking Deployment Information 241 / 12.3.2 Registering Deployment Information 242
12.4 Deployment Automation 242
[COLUMN] Node 16-Based Action 243
Deploying to Multiple Environments Using 12.5 Environments 250
12.6 Deployment Design 255
12.7 Summary 256
CHAPTER 13 Open-Sourcing Actions 257
13.1 Action Release 257
13.2 Action Test 261
13.3 Release Management of Actions 265
13.4 Documenting Actions 269
13.5 Released on GitHub Marketplace 270
13.6 The Evolutionary Process of Action 273
13.7 Summary 275
[COLUMN] References: Operations 275
PART III APPLICATIONS 277
CHAPTER 14 Advanced Uses of GitHub Actions 279
14.1 Reusable Workflows 279
14.2 Defining Dynamic Workflows 288
14.3 Error Handling 290
14.4 Flow Control Through Context 292
14.5 Private Actions and Private Reusable Workflows 295
14.6 Summary 296
[COLUMN] References: Security 297
CHAPTER 15 Security in GitHub Actions 298
15.1 Software Supply Chain 298
15.2 Security Design Principles 300
15.3 GitHub's Service Characteristics 301
15.4 Repository Protection 302
15.5 Security of External Actions 304
15.6 Script Injection 308
15.7 Minimum Privileges 309
15.8 Secret Management 311
15.9 Fork Pull Request Countermeasure 313
15.10 OpenID Connect Configuration 315
[COLUMN] Push Rule 322
15.11 Summary 323
CHAPTER 16 Shifting Left in Security 324
16.1 Shift Left 324
16.2 Scanning for Vulnerabilities in Dependencies 325
16.3 Secret Protection 330
16.4 Application Security 333
[COLUMN] Scanning Container Registries for Vulnerabilities 335
16.5 IaC Security 335
16.6 Continuous Security Improvements 338
16.7 Summary 339
CHAPTER 17 Accessing Other Repositories Using GitHub App Tokens 340
17.1 GitHub Authentication Information 340
17.2 GitHub App Token 342
17.3 Accessing Other Repositories 347
[COLUMN] Delete your secret key quickly 348
[COLUMN] 350 for the curious reader
17.4 How GitHub App Tokens Are Generated 350
17.5 GitHub App Token Operational Techniques 357
17.6 Summary 360
[COLUMN] References: Systems Design 360
CHAPTER 18 CD Practice 361
18.1 Organizational Performance 361
18.2 Version Control Strategy 363
18.3 Testing Strategy 364
18.4 Release Strategy 365
18.5 Database Change Management 366
18.6 Change Management in IaC 367
18.7 Loosely Coupled Architecture 369
18.8 Don't forget to operate 370
18.9 Continuous Learning 371
18.10 Summary 372
In conclusion 373
Search 375
Detailed image

Into the book
When the OS executes a command, it returns a value called termination status.
If successful, returns 0, otherwise returns a non-zero value.
/ In Unix-like OS, you can check the exit status of the most recently executed command by referencing the $? variable.
For example, let's try executing a non-existent command:
If the execution fails, a value other than 0 will be displayed.
GitHub Actions uses this exact end state.
--- p.25
GitHub provides an API that can be integrated with programs, and this is called the GitHub API.
For example, you can use curl or similar to add comments or labels to pull requests.
The GitHub CLI, which was introduced earlier, also uses the GitHub API internally.
/ GitHub Actions provides easy access to the GitHub API.
If you are using the GitHub Host Runner, you can use the pre-installed GitHub CLI.
--- p.58
Some static analysis results contain warnings with low importance.
Therefore, there are cases where this warning is treated as 'no action taken'.
Simply ignoring the warning at this time is not a good solution.
Ignored warnings become noise.
Let's suppress unnecessary warnings.
It doesn't take as much work as you might think.
/ When suppressing warnings, there are two directions to consider:
Whether the suppression target is the entire code base or limited to a specific part.
The former is controlled by settings files, etc.
The latter involves inserting specific keywords directly into the code to be suppressed.
The specific method varies depending on the tool.
Let's search the tool's documentation using keywords such as ignore or suppress.
Since this is a common occurrence, there will likely be a record of it.
--- p.92
GitHub Releases is a service that provides software delivery and change notifications.
You can upload arbitrary files up to 2GB per release by linking with Git tags.
/ GitHub releases are often used when distributing command-line tools.
For example, if you create a single binary executable file in Go and distribute it.
It is suitable for simple purposes where you only need to be able to download files.
There is also a usage method that distributes only release notes without distributing the software.
/ GitHub releases are naturally linked to repositories.
You can track differences between versions in your browser down to the commit level.
It can be manipulated through the GitHub CLI and is easy to automate.
--- p.179
Using OIDC in GitHub Actions eliminates the need to manage static credentials on GitHub.
Because you can get temporary authentication information.
Temporary credentials are more secure and easier to operate than static credentials.
/ There are other benefits as well.
This means that you can precisely control who can access the cloud service when authenticating.
For example, with GitHub Actions, you can grant access only to specific repositories.
This is another side effect of using OIDC.
--- p.216
Authentication information such as access keys are assets that require high confidentiality.
Credentials are incredibly attractive data for attackers.
On the other hand, authentication information is also information that is easily handled carelessly.
Some people manage it as text without encryption.
/ Even leaving aside text versioning, proper management of authentication information is quite a difficult task.
It could potentially be leaked due to human error, so a lot of effort is needed to prevent this.
There is no clear reward, but mistakes can cause enormous damage.
If successful, returns 0, otherwise returns a non-zero value.
/ In Unix-like OS, you can check the exit status of the most recently executed command by referencing the $? variable.
For example, let's try executing a non-existent command:
If the execution fails, a value other than 0 will be displayed.
GitHub Actions uses this exact end state.
--- p.25
GitHub provides an API that can be integrated with programs, and this is called the GitHub API.
For example, you can use curl or similar to add comments or labels to pull requests.
The GitHub CLI, which was introduced earlier, also uses the GitHub API internally.
/ GitHub Actions provides easy access to the GitHub API.
If you are using the GitHub Host Runner, you can use the pre-installed GitHub CLI.
--- p.58
Some static analysis results contain warnings with low importance.
Therefore, there are cases where this warning is treated as 'no action taken'.
Simply ignoring the warning at this time is not a good solution.
Ignored warnings become noise.
Let's suppress unnecessary warnings.
It doesn't take as much work as you might think.
/ When suppressing warnings, there are two directions to consider:
Whether the suppression target is the entire code base or limited to a specific part.
The former is controlled by settings files, etc.
The latter involves inserting specific keywords directly into the code to be suppressed.
The specific method varies depending on the tool.
Let's search the tool's documentation using keywords such as ignore or suppress.
Since this is a common occurrence, there will likely be a record of it.
--- p.92
GitHub Releases is a service that provides software delivery and change notifications.
You can upload arbitrary files up to 2GB per release by linking with Git tags.
/ GitHub releases are often used when distributing command-line tools.
For example, if you create a single binary executable file in Go and distribute it.
It is suitable for simple purposes where you only need to be able to download files.
There is also a usage method that distributes only release notes without distributing the software.
/ GitHub releases are naturally linked to repositories.
You can track differences between versions in your browser down to the commit level.
It can be manipulated through the GitHub CLI and is easy to automate.
--- p.179
Using OIDC in GitHub Actions eliminates the need to manage static credentials on GitHub.
Because you can get temporary authentication information.
Temporary credentials are more secure and easier to operate than static credentials.
/ There are other benefits as well.
This means that you can precisely control who can access the cloud service when authenticating.
For example, with GitHub Actions, you can grant access only to specific repositories.
This is another side effect of using OIDC.
--- p.216
Authentication information such as access keys are assets that require high confidentiality.
Credentials are incredibly attractive data for attackers.
On the other hand, authentication information is also information that is easily handled carelessly.
Some people manage it as text without encryption.
/ Even leaving aside text versioning, proper management of authentication information is quite a difficult task.
It could potentially be leaked due to human error, so a lot of effort is needed to prevent this.
There is no clear reward, but mistakes can cause enormous damage.
--- p.311
Publisher's Review
GitHub CI/CD, which has been handled by instinct, is now properly designed.
Many developers use GitHub Actions, but few have experience designing their structure.
There are still many cases where people rely on intuition to operate CI/CD or simply copy and paste complex settings.
However, automation created in this way is not only difficult to maintain, but also impossible to scale.
This book breaks away from such vague approaches and guides you through designing and operating a practical CI/CD system centered around GitHub Actions.
This book, consisting of three parts, provides step-by-step know-how from basic to advanced and applied.
Part 1 explains the need for CI/CD and the basic concepts of GitHub Actions.
Learn workflow syntax, condition processing, environment variables, etc., and lay the foundation for test automation and CI design.
Part 2 focuses on practical applications, covering repository structure design, dependency automation, release deployment, and cloud integration, along with ready-to-use automation flows and advanced topics such as OIDC authentication and open source action management.
Part 3 introduces how to maintain a stable system even in complex environments through app tokens, security strategies, and advanced action features.
This book is not simply a technical guide that teaches you how to use GitHub Actions.
Rather than just explaining the code, we will look at why it should be designed that way and how to create a structure that will survive in the field for a long time.
This is a practical design guide for those who want to structurally design automation and change the development culture of their teams and organizations.
In recognition of its practicality and expertise, it was selected as one of the top 10 technical book categories in the 2025 Japan IT Engineer Book Awards.
This book is the starting point for becoming a developer who understands automation and knows how to design structures.
Target audience
● GitHub Actions is for first-time GitHub users
● Practitioners who only knew the CI/CD concept
● Developers who want to learn automation systematically
Key Contents
● Understanding the structure and workflow syntax of GitHub Actions
● Workflow execution conditions and environment setting method
● Implement automated testing, release, and package deployment
● How to apply custom actions and modularization strategies
● How to update dependencies and maintain a clean repository
● Cloud service authentication integration using OpenID Connect
● Utilizing GitHub App Tokens for Inter-Repository Integration
● Practice-oriented CI/CD design and security operation strategy
Many developers use GitHub Actions, but few have experience designing their structure.
There are still many cases where people rely on intuition to operate CI/CD or simply copy and paste complex settings.
However, automation created in this way is not only difficult to maintain, but also impossible to scale.
This book breaks away from such vague approaches and guides you through designing and operating a practical CI/CD system centered around GitHub Actions.
This book, consisting of three parts, provides step-by-step know-how from basic to advanced and applied.
Part 1 explains the need for CI/CD and the basic concepts of GitHub Actions.
Learn workflow syntax, condition processing, environment variables, etc., and lay the foundation for test automation and CI design.
Part 2 focuses on practical applications, covering repository structure design, dependency automation, release deployment, and cloud integration, along with ready-to-use automation flows and advanced topics such as OIDC authentication and open source action management.
Part 3 introduces how to maintain a stable system even in complex environments through app tokens, security strategies, and advanced action features.
This book is not simply a technical guide that teaches you how to use GitHub Actions.
Rather than just explaining the code, we will look at why it should be designed that way and how to create a structure that will survive in the field for a long time.
This is a practical design guide for those who want to structurally design automation and change the development culture of their teams and organizations.
In recognition of its practicality and expertise, it was selected as one of the top 10 technical book categories in the 2025 Japan IT Engineer Book Awards.
This book is the starting point for becoming a developer who understands automation and knows how to design structures.
Target audience
● GitHub Actions is for first-time GitHub users
● Practitioners who only knew the CI/CD concept
● Developers who want to learn automation systematically
Key Contents
● Understanding the structure and workflow syntax of GitHub Actions
● Workflow execution conditions and environment setting method
● Implement automated testing, release, and package deployment
● How to apply custom actions and modularization strategies
● How to update dependencies and maintain a clean repository
● Cloud service authentication integration using OpenID Connect
● Utilizing GitHub App Tokens for Inter-Repository Integration
● Practice-oriented CI/CD design and security operation strategy
GOODS SPECIFICS
- Date of issue: July 8, 2025
- Page count, weight, size: 404 pages | 188*245*19mm
- ISBN13: 9791194587248
- ISBN10: 1194587240
You may also like
카테고리
korean
korean