Book Image

Automating DevOps with GitLab CI/CD Pipelines

By : Christopher Cowell, Nicholas Lotz, Chris Timberlake
Book Image

Automating DevOps with GitLab CI/CD Pipelines

By: Christopher Cowell, Nicholas Lotz, Chris Timberlake

Overview of this book

Developers and release engineers understand the high stakes involved in building, packaging, and deploying code correctly. Ensuring that your code is functionally correct, fast, and secure is a time-consuming and complex task. Code implementation, development, and deployment can be conducted efficiently using GitLab CI/CD pipelines. Automating DevOps with GitLab CI/CD Pipelines begins with the basics of Git and GitLab, showing how to commit and review code. You’ll learn to set up GitLab Runners for executing and autoscaling CI/CD pipelines and creating and configuring pipelines for many software development lifecycle steps. You'll also discover where to find pipeline results in GitLab, and how to interpret those results. Through the course of the book, you’ll become well-equipped with deploying code to different environments, advancing CI/CD pipeline features such as connecting GitLab to a Kubernetes cluster and using GitLab with Terraform, triggering pipelines and improving pipeline performance and using best practices and troubleshooting tips for uncooperative pipelines. In-text examples, use cases, and self-assessments will reinforce the important CI/CD, GitLab, and Git concepts, and help you prepare for interviews and certification exams related to GitLab. By the end of this book, you'll be able to use GitLab to build CI/CD pipelines that automate all the DevOps steps needed to build and deploy high-quality, secure code.
Table of Contents (18 chapters)
1
Part 1 Getting Started with DevOps, Git, and GitLab
6
Part 2 Automating DevOps Stages with GitLab CI/CD Pipelines
11
Part 3 Next Steps for Improving Your Applications with GitLab

Index

As this ebook edition doesn't have fixed pagination, the page numbers below are hyperlinked for reference only, based on the printed edition of this book.

Symbols

.gitlab-ci.yml

GitLab Runner, running CI/CD jobs specified 112, 113

.gitlab-ci.yml file 104

A

alphabetize function 7

Amazon Web Services (AWS) 223

amigos 79

analyzers 168

anchors 240, 241

Ansible

used, for managing resource configurations 308, 309

approval rules 191

architecture and workflow, fuzz testing

CI/CD job 154, 155

code under test 153, 154

fuzz engine 155

fuzz target 156

artifacts

characteristics 236

leveraging 235

leveraging, as job dependencies 238, 239

using 237, 238

automated functional tests, CI/CD pipeline

enabling 149, 150

results, viewing 150, 151, 152

running 149

B

Bandit 169

Brakeman 168

branch 78

adding 70, 71, 72

creating 70

branches 40, 41, 42, 43

managing, with Git...