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.tfDokumentowanie 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. Otagowanie wydania sprawia, że nowa wersja staje się dostępna dla użytkowników.
git tag v1.0.0
git push origin v1.0.0Bezpoś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 -upgradeSzybki 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
- Wprowadzenie do modułów Terraform
- Tworzenie modułów wielokrotnego użytku
- Korzystanie z obszarów roboczych dla środowisk
- Publikowanie modułów w rejestrze