Skip to content

GitLab

Information

GitLab is a web application for managing source code based on the Git version control system. The service provides a wide range of tools for development, testing, and deploying applications. GitLab allows you to create projects that include multiple repositories, each of which can be used to store code, bug reports, documentation, and other files. One of the key features of GitLab is CI/CD - continuous integration, delivery, and deployment. The built-in GitLab tools allow you to automate the process of building, testing, and deploying applications, which improves the quality and speed of development. GitLab supports integration with many development tools such as Jira, Jenkins, Kubernetes, Docker, and many others.

GitLab. Key Features

  • Repository management: GitLab allows you to create, store, and manage repositories based on Git.
  • Task tracking: GitLab has a built-in task tracking system that helps developers manage their projects.
  • CI/CD: It includes a built-in Continuous Integration (CI) and Continuous Delivery (CD) platform that automatically checks and deploys code after each commit.
  • Wiki and Issue Tracker: They help teams work on tasks and documentation.
  • Management of access rights: GitLab allows you to configure access rights to repositories and other tools based on roles and users.
  • Integration with other tools: It can be easily integrated with other tools such as Jira, Slack, Jenkins, and many others.
  • Web interface and API: It has a convenient web interface and API, which makes it highly customizable and extensible.

Features of the assembly

  • Installation on Alma Linux 8,9; Centos 8,9 Stream; Rocky 8,9; Debian 11,12; Ubuntu 20.04, 22.04 is possible;
  • Containerized installation of GitLab + SSL in the hostkey.in zone;
  • The installation is performed using the developer's script depending on the distribution;
  • The gitlab-ce repository is connected depending on the distribution;
  • The gitlab-ce package is installed;
  • After installation, the following variables are set in the configuration file /etc/gitlab/gitlab.rb:
Default Variable Replacement Variable Description
gitlab_rails['initial_root_password'] = "password" gitlab_rails['initial_root_password'] = "{{ ansible_ssh_pass }}" The password from the server’s card is applied.
external_url 'https://your_domain external_url 'https://gl{{ ansible_hostname }}.hostkey.in' The URL is specified from the server card.
letsencrypt['auto_renew'] = true letsencrypt['auto_renew'] = true LetsEncrypt certificate renewal is enabled. The default behavior of the variable is to renew the certificate after midnight on the 4th day of every month.

Getting started after deploying GitLab

A notification will be sent to the e-mail specified during registration that the server is ready for work after paying for the order. It will contain the IP address of the VPS, as well as the login and password for the connection. Clients of our company manage the hardware in the server`s and API control panel — Invapi.

Here is the data for authorization:

  • Link to access the GitLab dashboard with a web interface: in the webpanel tag;
  • Login: root;
  • Password: in a letter to your e-mail upon receipt of the server.

You will need to enter your login and password after clicking on the https://gl{Server_ID}.hostkey.in link:

On the home page of the web interface, you will find the main actions for managing the service. The main actions menu is located on the left of the screen:

Basic features to get you started with version control and task tracking:

  • Create a project. Quickly create a new Git project by specifying its name and access settings - public, internal or private.
  • Create a group. Groups allow you to combine multiple projects and manage access to them from a single role. This is a useful tool for teams and organisations.
  • Add people. You can invite new members to projects and groups by assigning them the appropriate level of access, from guest to owner.
  • Configure GitLab. Here you'll find advanced configuration options - integrations, security settings, templates, APIs, continuous integration and more.

Note

For more information on the basic settings of Dokku, see the documentation of the developers.

Ordering GitLab using the API

curl -s "https://invapi.hostkey.com/eq.php" -X POST \
--data "action=order_instance" \
--data "token=" \
--data "deploy_period=" \
--data "deploy_notify=" \
--data "email=" \
--data "pin=" \
--data "id=" \
--data "os_id=" \
--data "root_pass=" \
--data "hostname=" \
--data "ssh_key=" \
--data "post_install_callback=" \
--data "post_install_script=" \
--data "reinstall_key=" \
--data "os_name=" \
--data "imitate_deploy=" \
--data "imitate_error=0" \
--data "own_os=" \
--data "jenkins_task=" \
--data "traffic_plan=" \
--data "invoice_relid=" \
--data "preset=" \
--data "location_name=" \