Cargando…

AUTOMATING DEVOPS WITH GITLAB CI/CD PIPELINES build efficient CI/CD pipelines to verify, secure, and deploy your code using real-life examples /

Use GitLab CI/CD pipelines for automating and deploying different steps of your software development lifecycle using best practices and troubleshooting methods. Key Features Reap the power of GitLab CI/CD pipelines at every stage of your software development lifecycle Learn how GitLab makes Git easi...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autores principales: Cowell, Christopher (Autor), Lotz, Nicholas (Autor), Timberlake, Chris (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Birmingham, UK : Packt Publishing Ltd., [2023]
Edición:1st edition.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)
Tabla de Contenidos:
  • Cover
  • Title Page
  • Copyright and Credit
  • Dedicated
  • Contributors
  • Table of Contents
  • Preface
  • Part 1 Getting Started with DevOps, Git, and GitLab
  • Chapter 1: Understanding Life Before DevOps
  • Introducing the Hats for Cats web app
  • Building and verifying code manually
  • Building code manually
  • Verifying code manually
  • More challenges of verifying code
  • Security-testing code manually
  • Static code analysis
  • Secret detection
  • Dynamic analysis
  • Dependency scanning
  • Container scanning
  • Manual security testing summary
  • Packaging and deploying code manually
  • License compliance scanning
  • Deploying software
  • Problems with manual software development life cycle practices
  • Solving problems with DevOps
  • How GitLab implements DevOps
  • Summary
  • Chapter 2: Practicing Basic Git Commands
  • Technical requirements
  • Why use Git?
  • What is a version control system?
  • What problems does a VCS solve?
  • Why Git is popular
  • Drawbacks of Git
  • Committing code to keep it safe
  • Excluding files from a repository
  • Tagging commits to identify versions of code
  • Branching code for developing in an isolated space
  • Git commands for managing branches
  • Handling merge conflicts
  • Syncing local and remote copies of repositories
  • The "golden" repository
  • Configuring remote repositories
  • Pushing
  • Fetching
  • Pulling
  • Additional resources for learning Git
  • Summary
  • Chapter 3: Understanding GitLab Components
  • Technical requirements
  • Emphasizing the "why" over the "how"
  • Introducing the GitLab platform
  • What is GitLab?
  • What problem does GitLab solve?
  • The verify, secure, and release stages
  • Organizing work into projects and groups
  • Example
  • organizing your Hats for Cats work
  • Tracking work with issues
  • The structure of a GitLab issue
  • The kinds of tasks that issues can represent
  • Labels
  • Issue workflows
  • Editing files safely with commits, branches, and merge requests
  • Commit history
  • Merging one Git branch into another
  • The three amigos
  • issues, branches, and merge requests
  • When two amigos are enough
  • How are issues and merge requests different?
  • Enabling DevOps practices with GitLab flow
  • Summary
  • Chapter 4: Understanding GitLab's CI/CD Pipeline Structure
  • Technical requirements
  • Defining the terms pipeline, CI, and CD
  • Understanding what a pipeline is
  • Defining one pipeline per project
  • Understanding different uses of the term "pipeline"
  • Viewing a list of pipelines
  • CI
  • finding out if your code is good
  • CD
  • finding out where your code should go (and putting it there)
  • GitLab Runners
  • Parts of a pipeline
  • stages, jobs, and commands
  • Stages
  • Jobs
  • Commands
  • Fitting the pipeline pieces together
  • Running GitLab CI/CD pipelines
  • Branch pipelines
  • Git tag pipelines
  • Other types of pipelines
  • Skipping pipelines
  • Reading GitLab CI/CD pipeline statuses
  • Configuring GitLab CI/CD pipelines
  • Summary