Mastering GitLab 12

Joost Evertse

Language: English

Publisher: Packt Publishing

Published: May 15, 2019

Description:

An expert guide to helping you use DevOps techniques with the latest GitLab version to optimize and manage your software workflow

Key Features

  • Delve into GitLab's architecture, and install and configure it to fit your environment
  • Learn about the underlying principles of Agile software development and DevOps
  • Explore Gitlab's features to manage enterprise cloud-native applications and services

Book Description

GitLab is an open source repository management and version control toolkit with functions for enterprises and personal software projects. It offers configurability options, extensions, and APIs that make it an ideal tool for enterprises to manage the software development life cycle.

This book begins by explaining GitLab options and the components of the GitLab architecture. You will learn how to install and set up GitLab on-premises and in the cloud, along with understanding how to migrate code bases from different systems, such as GitHub, Concurrent Versions System, Team Foundation Version Control, and Subversion. Later chapters will help you implement DevOps culture by introducing the workflow management tools in GitLab and continuous integration/continuous deployment (CI/CD). In addition to this, the book will guide you through installing GitLab on a range of cloud platforms, monitoring with Prometheus, and deploying an environment with GitLab. You'll also focus on the GitLab CI component to assist you with creating development pipelines and jobs, along with helping you set up GitLab runners for your own project. Finally, you will be able to choose a high availability setup that fits your needs and helps you monitor and act on results obtained after testing.

By the end of this book, you will have gained the expertise you need to use GitLab features effectively, and be able to integrate all phases in the development process.

What you will learn

  • Install GitLab on premises and in the cloud using a variety of configurations
  • Conduct data migration from the SVN, TFS, CVS, and GitHub platforms to GitLab
  • Use GitLab runners to develop different types of configurations in software development
  • Plan and perform CI/CD by using GitLab features
  • Monitor and secure your software architecture using Prometheus and Grafana
  • Implement DevOps culture by introducing workflow management tools in GitLab

Who this book is for

If you are a software developer, DevOps professional, or any developer who wants to master GitLab for productive repository management in your day-to-day tasks, this book is for you. Basic understanding of the software development workflow is assumed.

Table of Contents

  1. Introducing the GitLab Architecture
  2. Installing GitLab
  3. Configuring GitLab Using the Web UI
  4. Configuring GitLab from the terminal
  5. Importing your project from GitHub to GitLab
  6. Migrating from CVS
  7. Switching from SVN
  8. Moving repositories from TFS
  9. GitLab Vision - the Whole Toolchain in One Application
  10. Create Your Product, Verify, and Package it
  11. The release and configure phase
  12. Monitoring with Prometheus
  13. Integrating GitLab with CI/CD tools
  14. Setting Up Your Project for GitLab Continuous Integration
  15. Installing and configuring GitLab runners
  16. Using GitLab runners with Docker or Kubernetes
  17. Autoscaling GitLab CI Runners
  18. Monitoring CI metrics
  19. Creating a Basic HA Architecture Using Horizontal Scaling
  20. Managing a hybrid HA environment
  21. Making your environment Fully Distributed
  22. Using Geo to create distributed read-only copies of GitLab