You are previewing GitLab Repository Management.
O'Reilly logo
GitLab Repository Management

Book Description

Delve into managing your projects with GitLab, while tailoring it to fit your environment

  • Understand how to efficiently track and manage projects

  • Establish teams with a fast software developing tool

  • Employ teams constructively in a GitLab environment

In Detail

GitLab is a great tool suite used to develop software quickly, safely, and efficiently. Watch your developers get into a productive loop within your own network! Code Version Control is now easy to administer and fast to set up with the help of GitLab.

Starting with the installation of GitLab, GitLab Repository Management will guide you through learning how to use permission management and other features, such as issue tracking and wikis. You will get a look at the technology that drives this open source project and learn how to connect it with your infrastructure.

This guide will show you how to use GitLab as a primary tool for version control, collaboration, and issue tracking. It will make you a capable maintainer and give you an understanding of how to make the most of this tool.

Building efficient teams of developers will change the outcome for the better, as you decide who to put in charge and whose access you can restrict. Keeping your code safe while being open to feedback, is the key to making your products something that your users will love. Documenting large projects can be challenging, but you will learn how to overcome these challenges using GitLab’s built-in wiki functionality.

Table of Contents

  1. GitLab Repository Management
    1. Table of Contents
    2. GitLab Repository Management
    3. Credits
    4. About the Author
    5. About the Reviewers
    6. www.PacktPub.com
      1. Support files, eBooks, discount offers and more
        1. Why Subscribe?
        2. Free Access for Packt account holders
    7. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    8. 1. Kickstarting with GitLab
      1. What is GitLab?
        1. GitLab features
          1. Web interfaces
          2. Managing permissions
          3. Documenting your project
        2. Where GitLab excels
        3. Cloud-hosted GitLab
        4. Support for your own GitLab
        5. Competitors
      2. Summary
    9. 2. Installation
      1. Hardware
      2. Operating system – Linux
        1. Debian/Ubuntu
          1. The required packages
      3. Other distributions
        1. Python
        2. Ruby
          1. Download and compile
      4. Databases
        1. MySQL
          1. Testing the connection
        2. Redis
          1. Redis on Debian 6.0 Squeeze
        3. GitLab Shell
          1. Choosing the right version
        4. GitLab
          1. Gem dependencies
      5. Summary
    10. 3. Configuring GitLab
      1. Configuring the parts
        1. GitLab Shell
        2. Permissions and directories
        3. Databases
          1. MySQL
        4. Puma
        5. GitLab itself
        6. Secure Shell host protocol
          1. Default port
          2. Key storage
        7. Nginx
          1. Finding IP and FQDN
      2. Starting GitLab
        1. Testing the configuration
        2. Starting up GitLab
        3. Automatically start GitLab on system start-up
      3. Visit your site
      4. Summary
    11. 4. Roles and Permissions
      1. First steps
        1. Logging in
        2. Creating your key
        3. Pushing for the first time
      2. The second user
        1. Adding users manually
        2. Enabling signup
      3. Using and understanding different roles
        1. The Guest – a visitor with limited access
        2. The Reporter – a communicative observer
        3. The Developer – the workforce
        4. The Master – powerful and in control
        5. The Owner – the creator of a project
      4. Creating a team
        1. Adding a team
        2. Importing an existing team
        3. Changing teams
      5. Creating a group
      6. Managing SSH keys
      7. Summary
    12. 5. Issues and Wikis
      1. GitLab-flavored Markdown
        1. About Markdown
      2. Referring to elements inside GitLab
      3. Issues, knowing what needs to be done
        1. Creating issues
        2. Working with labels or tags
        3. Assigning users
      4. Fast documentation with wikis
        1. Editing online
        2. Editing locally
      5. RSS feeds
        1. Changing a private token
        2. Understanding the value of metadata
      6. Summary
    13. 6. Workflows
      1. Single branch
      2. Feature branch
        1. Creating a merge request
        2. Responding to a merge request
        3. Monitoring branches
      3. Forking repositories
        1. Hooks
          1. Hook examples
          2. Hooks with the GitLab API
      4. Summary
    14. 7. Updating GitLab
      1. Preparing for an update
        1. Stopping GitLab
        2. Backup
        3. Database
        4. Update
        5. Getting the new version (6.1)
        6. Dependencies and databases
        7. Reconfiguring after update
        8. The init script
        9. Updating GitLab Shell
      2. Testing the update
      3. Summary
    15. 8. Help and Community
      1. Official channels
        1. The GitLab blog
        2. Feedback and feature requests
        3. Other places
          1. GitHub
            1. Repositories
            2. Issues
          2. Stackoverflow
          3. Google Groups
        4. Troubleshooting
          1. Read your logs
          2. Redis
          3. Repository permissions
      2. Summary
    16. Index