Tworzenie grupy repozytoriów w GitLab za pomocą Terraform¶
Wprowadzenie¶
Niniejsza sekcja dokumentacji opisuje proces tworzenia grupy repozytoriów w GitLab przy użyciu Terraform. Prezentowane podejście umożliwia automatyczne zarządzanie strukturą repozytoriów, co wspiera podejście Infrastructure as Code (IaC).
Korzyści wynikające z użycia Terraform
Terraform pozwala na:
- Automatyzację tworzenia i zarządzania grupami repozytoriów,
- Wersjonowanie konfiguracji, co ułatwia kontrolę zmian,
- Powtarzalność konfiguracji, eliminując błędy manualne.
Definiowanie grupy w Terraform¶
Aby utworzyć grupę repozytoriów w GitLab, należy dodać odpowiednią definicję do pliku konfiguracyjnego Terraform.
Repozytorium GitLab zawierające definicję:
🔗 GitLab: pl.rachuna-net/infrastructure/terraform/gitlab
Przykładowy plik konfiguracyjny Terraform¶
📄 Ścieżka pliku: pl.rachuna-net/infrastructure/grp_packer.tf
module "group_packer" {
source = "git@gitlab.com:pl.rachuna-net/infrastructure/terraform/modules/gitlab-group.git?ref=v1.1.1"
name = "packer"
description = "Virtual machine templates for Packer"
parent_group = local.parent_name
visibility = "public"
icon_type = "packer"
}
# Odkomentuj po utworzeniu modułu Packer i dodaniu pierwszego pliku w tym katalogu
# module "packer" {
# source = "./packer/"
# }
Weryfikacja planu Terraform¶
Po zapisaniu konfiguracji należy uruchomić polecenie terraform plan
, które zwróci listę planowanych zmian:
Plan. Resource actions are indicated with the following symbols:
+ create
Terraform will perform the following actions:
# module.pl_rachuna-net.module.infrastructure.module.group_packer.gitlab_group.group will be created
+ resource "gitlab_group" "group" {
+ name = "packer"
+ description = "Virtual machine templates for Packer"
+ visibility_level = "public"
+ parent_id = 102204432
+ avatar = ".terraform/modules/pl_rachuna-net.infrastructure.group_packer/images/packer.png"
+ avatar_hash = "7b6d29da98428d8917da19d0033ad7281cc956ade0b05867726f3df6dc8bcab7"
+ web_url = (known after apply)
+ ... (inne właściwości)
}
Plan: 1 to add, 0 to change, 0 to destroy.
Wdrożenie zmian¶
Jeśli planowane zmiany są zgodne z oczekiwaniami, należy wdrożyć je do main
poprzez Merge Request (MR), co spowoduje utworzenie grupy repozytoriów w GitLab.
Podsumowanie¶
Wdrożenie grupy repozytoriów w GitLab za pomocą Terraform zapewnia automatyzację, powtarzalność i centralizację zarządzania. Po poprawnym wykonaniu opisanych kroków, nowa grupa repozytoriów będzie gotowa do użytku.
🚀 Gotowe! Grupa repozytoriów została pomyślnie utworzona przy użyciu Terraform. 🎉