0Pricing
Terraform Infrastructure as Code · Lekcja

Kontrola wersji za pomocą Git

Połącz konfiguracje Terraform z Git, aby korzystać z kontroli wersji, gałęzi, scalania i wspólnego tworzenia oprogramowania.

Kontrola wersji za pomocą Git to bezpłatna lekcja Terraform Infrastructure as Code na CoddyKit. To lekcja 2 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.

Git dla infrastruktury

Zarządzanie infrastrukturą jako kodem (IaC) oznacza traktowanie konfiguracji infrastruktury jak kodu oprogramowania. Podobnie jak kod oprogramowania, konfiguracje te wiele zyskują dzięki kontroli wersji.

Git to najpopularniejsze narzędzie do kontroli wersji. Pomaga śledzić zmiany, współpracować z członkami zespołu i przywracać wcześniejsze wersje, jeśli coś pójdzie nie tak z Terraform.

Inicjalizowanie Git w Terraform

Aby rozpocząć śledzenie projektu Terraform, należy najpierw zainicjalizować repozytorium Git w głównym katalogu projektu. Spowoduje to utworzenie ukrytego folderu .git.

Załóżmy, że masz już gotowy plik main.tf.

git init

Przygotowywanie i zatwierdzanie kodu

Po utworzeniu lub zmodyfikowaniu plików Terraform należy je „przygotować” (git add), a następnie „zatwierdzić” (git commit), aby zapisać zmiany w historii repozytorium.

Każdy commit powinien reprezentować logiczny zestaw zmian i mieć jasny komunikat.

git add main.tf
git commit -m "Initial commit of main.tf"

Chroń pliki stanu

Terraform tworzy pliki stanu (takie jak terraform.tfstate) i katalogi tymczasowe (.terraform/), których nie należy zatwierdzać w Git. Zawierają one poufne informacje i mogą powodować konflikty.

Użyj pliku .gitignore, aby wskazać Gitowi, które pliki ma ignorować.

# Terraform specific files
.terraform/
*.tfstate
*.tfstate.*

Utwórz gałąź dla nowych funkcji

Gałęzie pozwalają pracować nad nowymi funkcjami lub poprawkami błędów w izolacji od głównej bazy kodu. Zapobiega to zakłóceniom w głównej linii rozwoju.

  • Domyślna gałąź często nosi nazwę main lub master.
  • Twórz nowe gałęzie dla konkretnych zadań.
git branch
git checkout -b add-s3-bucket

Pracuj w izolacji

Po przejściu na nową gałąź (np. add-s3-bucket) możesz wprowadzać zmiany w konfiguracji Terraform bez wpływu na gałąź main.

Dodajmy prosty zasób bucketu S3 do pliku main.tf.

resource "aws_s3_bucket" "example" {
  bucket = "my-unique-bucket-name-123"
}

Scalanie z gałęzią główną

Gdy funkcja jest ukończona i przetestowana w swojej gałęzi, można scalić ją z powrotem z gałęzią main. Spowoduje to zintegrowanie zmian z główną bazą kodu.

Najpierw należy przełączyć się z powrotem na main, a następnie scalić gałąź funkcji.

git checkout main
git merge add-s3-bucket

Rozwiązywanie konfliktów scalania

Czasami podczas scalania Git nie może automatycznie połączyć zmian. Jest to konflikt scalania. Należy ręcznie edytować pliki objęte konfliktem i wybrać, które zmiany mają zostać zachowane.

Po rozwiązaniu konfliktu należy wykonać git add i git commit dla scalonego pliku.

Udostępnianie za pomocą zdalnych repozytoriów

Aby współpracować, należy wypchnąć lokalne zmiany do zdalnego repozytorium (takiego jak GitHub lub GitLab). Inne osoby mogą następnie pobrać te zmiany na swoje komputery.

Dzięki temu zespoły mogą jednocześnie pracować nad tym samym projektem Terraform.

git remote add origin https://github.com/your-org/your-repo.git
git push -u origin main

Sprawdzenie przepływu pracy z Gitem

Właśnie dodano nowy zasób do pliku main.tf i chcą Państwo zapisać te zmiany w historii Gita. Jakich poleceń Git zazwyczaj należy użyć?

Podsumowanie użycia Gita z Terraformem

W tej lekcji omówiliśmy, jak Git pomaga zarządzać konfiguracjami Terraform. Nauczyli się Państwo:

  • inicjalizować repozytorium Git i śledzić zmiany;
  • używać pliku .gitignore do wykluczania poufnych plików;
  • pracować z gałęziami na potrzeby odizolowanego tworzenia;
  • scalać zmiany i rozwiązywać konflikty;
  • współpracować za pomocą zdalnych repozytoriów.

Git zapewnia wersjonowanie, możliwość audytu i współpracę nad IaC!

Często zadawane pytania

Czy lekcja „Kontrola wersji za pomocą Git” jest bezpłatna?

Tak — pełny tekst „Kontrola wersji za pomocą Git” 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 „Kontrola wersji za pomocą Git”?

Połącz konfiguracje Terraform z Git, aby korzystać z kontroli wersji, gałęzi, scalania i wspólnego tworzenia oprogramowania. Ć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 2 z 4.

Ile czasu zajmuje lekcja „Kontrola wersji za pomocą Git”?

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. Struktura kodu i konwencje nazewnicze
  2. Kontrola wersji za pomocą Git
  3. Współpraca zespołowa i przepływy pracy
  4. Dokumentacja i przepływy samoobsługowe
← Powrót do Terraform Infrastructure as Code