0Pricing
Terraform Infrastructure as Code · Lekcja

Publikowanie modułów w rejestrze

Udostępniaj zespołom wielokrotnie używane moduły Terraform, wersjonując je w Git i publikując w publicznym lub prywatnym rejestrze modułów.

Publikowanie modułów w rejestrze to bezpłatna lekcja Terraform Infrastructure as Code na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Terraform Infrastructure as Code, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Terraform Infrastructure as Code zawiera 4 lekcji w sumie.

Poza modułami lokalnymi

Moduły lokalne znajdują się w folderze obok konfiguracji. Aby udostępniać moduły między projektami i zespołami, należy opublikować je w rejestrze modułów, tak aby użytkownicy mogli pobierać je według nazwy i wersji, podobnie jak w przypadku menedżera pakietów.

Źródła modułów

Argument source określa, skąd Terraform pobiera moduł. Dostępne opcje to:

  • Ścieżka lokalna
  • Repozytorium Git
  • Publiczny rejestr Terraform
  • Prywatny rejestr w Terraform Cloud

Korzystanie z modułu z rejestru

Moduły z rejestru używają formatu namespace/name/provider. Zawsze przypinaj określoną wersję, aby zapewnić powtarzalność kompilacji.

module "vpc" {
  source  = "terraform-aws-modules/vpc/aws"
  version = "5.1.2"

  name = "my-vpc"
  cidr = "10.0.0.0/16"
}

Konwencja nazewnictwa repozytoriów

Publiczny rejestr wymaga określonej nazwy repozytorium: terraform-PROVIDER-NAME. Na przykład moduł sieci dla AWS znajdowałby się w repozytorium o nazwie terraform-aws-network.

Standardowa struktura modułu

Moduł przeznaczony do publikacji ma przewidywalny układ, dzięki czemu rejestr może automatycznie wygenerować jego dokumentację.

terraform-aws-network/
  main.tf
  variables.tf
  outputs.tf
  README.md
  examples/
    basic/main.tf

Dokumentowanie danych wejściowych

Każda zmienna powinna mieć description, a najlepiej również type. Rejestr automatycznie przekształca te informacje w udokumentowaną tabelę danych wejściowych.

variable "cidr" {
  type        = string
  description = "The CIDR block for the VPC"
  default     = "10.0.0.0/16"
}

Wersjonowanie za pomocą tagów Git

Rejestr wyznacza wersje modułów na podstawie tagów Git zgodnych z semantycznym wersjonowaniem. Otago­wanie wydania sprawia, że nowa wersja staje się dostępna dla użytkowników.

git tag v1.0.0
git push origin v1.0.0

Bezpośrednie przypinanie źródła Git

Można pominąć rejestr i odwołać się do repozytorium Git za pomocą adresu URL, przypinając je do taga przy użyciu parametru zapytania ref.

module "network" {
  source = "git::https://github.com/acme/terraform-aws-network.git?ref=v1.0.0"
  cidr   = "10.0.0.0/16"
}

Prywatne rejestry

Terraform Cloud i Enterprise oferują prywatny rejestr, dzięki któremu moduły wewnętrzne pozostają poufne, a jednocześnie są dostępne dla organizacji w ramach tego samego procesu wyszukiwania według nazwy i wersji.

Ograniczenia semantycznego wersjonowania

Używaj ograniczeń wersji, aby umożliwić bezpieczne aktualizacje. Operator ~> pozwala na aktualizacje patch i minor, ale nie na potencjalnie niezgodne zmiany major.

module "vpc" {
  source  = "terraform-aws-modules/vpc/aws"
  version = "~> 5.1"
}

Odświeżanie wersji modułów

Po zmianie ograniczenia wersji uruchom terraform init -upgrade, aby pobrać najnowszą dozwoloną wersję i zaktualizować plik blokady.

terraform init -upgrade

Szybki test

Sprawdź swoją wiedzę na temat wersjonowania modułów.

Podsumowanie: udostępnianie modułów

Nauczono się publikować i używać modułów:

  • Reguła nazewnictwa repozytoriów terraform-PROVIDER-NAME.
  • Standardowa struktura z udokumentowanymi danymi wejściowymi i wyjściowymi.
  • Tagi Git sterują wersjami w rejestrze.
  • Ograniczenia wersji, takie jak ~>, zapewniają bezpieczeństwo aktualizacji.

Teraz moduły wielokrotnego użytku mogą zasilać każdy projekt w organizacji.

Często zadawane pytania

Czy lekcja „Publikowanie modułów w rejestrze” jest bezpłatna?

Tak — pełny tekst „Publikowanie modułów w rejestrze” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Terraform Infrastructure as Code, przejdź na CoddyKit PRO. Kurs Terraform Infrastructure as Code zawiera 4 lekcji w sumie.

Co nauczysz się w „Publikowanie modułów w rejestrze”?

Udostępniaj zespołom wielokrotnie używane moduły Terraform, wersjonując je w Git i publikując w publicznym lub prywatnym rejestrze modułów. Ćwiczysz Terraform Infrastructure as Code z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Terraform Infrastructure as Code?

Nie wymagamy żadnego doświadczenia. Terraform Infrastructure as Code w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Publikowanie modułów w rejestrze”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Terraform Infrastructure as Code?

Tak. Każda lekcja Terraform Infrastructure as Code zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Wprowadzenie do modułów Terraform
  2. Tworzenie modułów wielokrotnego użytku
  3. Korzystanie z obszarów roboczych dla środowisk
  4. Publikowanie modułów w rejestrze
← Powrót do Terraform Infrastructure as Code