0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Ders

Terraform ve GitHub Actions ile IaC

Altyapıyı hazırlamak ve yönetmek için Terraform'u GitHub Actions iş akışlarınıza nasıl entegre edeceğinizi anlayın.

Terraform ve GitHub Actions ile IaC, CoddyKit'te ücretsiz bir CI/CD with GitHub Actions & DevOps Pipelines dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, CI/CD with GitHub Actions & DevOps Pipelines öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. CI/CD with GitHub Actions & DevOps Pipelines kursu toplamda 4 dersten oluşur.

Kod Olarak Altyapı (IaC)

Hoş geldiniz! Bu derste Kod Olarak Altyapı (IaC) konusunu ayrıntılı olarak inceleyeceğiz. Bu yaklaşım; sunucular, veritabanları ve ağlar gibi altyapınızı elle gerçekleştirilen işlemler yerine kod kullanarak yönetmek ve hazırlamak anlamına gelir.

Bunu altyapınız için yazılım yazmak gibi düşünebilirsiniz. Bu yaklaşım, tüm kurulumunuz için tutarlılık, tekrarlanabilirlik ve sürüm denetimi gibi birçok fayda sağlar.

IaC için Terraform'u Tanıyın

IaC için en popüler araçlardan biri, HashiCorp tarafından geliştirilen açık kaynaklı Terraform'dur.

Terraform, altyapı kaynaklarınızı insanların okuyabileceği yapılandırma dosyalarında tanımlamanıza olanak tanır. Ardından bu dosyaları kullanarak çeşitli bulut sağlayıcıları (AWS, Azure, GCP) ve diğer hizmetlerde kaynakları hazırlar ve yönetir.

Terraform'un HCL Sözdizimi

Terraform, HashiCorp Configuration Language (HCL) adı verilen kendi bildirimsel dilini kullanır. HCL, insanların kolayca okuyup yazabileceği şekilde tasarlanmıştır ve altyapı tanımlarınızı anlaşılır kılar.

Aşağıda bir AWS VPC'si (Sanal Özel Bulut) tanımlayan küçük bir HCL örneği yer alıyor:

resource "aws_vpc" "main" {
  cidr_block = "10.0.0.0/16"
  tags = {
    Name = "my-vpc"
  }
}

Terraform'un Temel İş Akışı

Terraform, altyapınızı yönetmek için tutarlı üç adımlı bir iş akışı izler:

  • terraform init: Çalışma dizininizi başlatır ve gerekli sağlayıcı eklentilerini indirir.
  • terraform plan: Terraform'un altyapınızda yapacağı değişiklikleri gösteren bir yürütme planı oluşturur.
  • terraform apply: Planda belirtilen değişiklikleri yürütür ve kaynaklarınızı hazırlar veya değiştirir.

GitHub Actions ile Otomasyon

Terraform'u GitHub Actions ile entegre etmek IaC stratejinizi güçlendirir. Altyapı dağıtım işlem hattınızdaki kritik adımları otomatikleştirmenizi sağlar.

GitHub Actions ile şunları yapabilirsiniz:

  • Her çekme isteğinde terraform plan komutunu otomatik olarak çalıştırabilirsiniz.
  • Altyapı değişikliklerinin incelenmesini ve onaylanmasını sağlayabilirsiniz.
  • Kontrollü dağıtımlar için terraform apply komutunu otomatikleştirebilirsiniz.

Terraform İş Akışı Dosyanız

Terraform için bir GitHub Actions iş akışı, deponuzun .github/workflows/ dizinindeki bir YAML dosyasında tanımlanır. Bu dosya, iş akışının ne zaman çalışacağını ve hangi adımları gerçekleştireceğini belirtir.

Aşağıda değişiklikleri planlayabilecek bir iş akışının temel yapısı yer alıyor:

name: 'Terraform CI'
on: 
  pull_request:
    branches:
      - main
jobs:
  terraform:
    name: 'Terraform'
    runs-on: ubuntu-latest
    steps:
      # Your workflow steps will go here

Terraform Kurulumu ve Başlatma Adımı

Herhangi bir Terraform komutunu çalıştırmadan önce iş akışınızın kodunuzu alması, Terraform CLI'ı kurması ve çalışma dizinini başlatması gerekir.

hashicorp/setup-terraform eylemi bunu kolaylaştırır:

- name: Checkout Code
  uses: actions/checkout@v4

- name: Setup Terraform
  uses: hashicorp/setup-terraform@v2
  with:
    terraform_version: 1.5.x

- name: Terraform Init
  run: terraform init

Terraform Plan Adımı

terraform plan komutu, her IaC iş akışında kritik bir adımdır. Yapılandırma dosyalarınızda tanımlanan istenen duruma ulaşmak için hangi işlemlerin gerekli olduğunu belirlemek üzere bir "deneme çalıştırması" gerçekleştirir.

Bu adım, bulut ortamınızda gerçekten herhangi bir değişiklik yapılmadan önce önerilen değişiklikleri incelemenize olanak tanır.

- name: Terraform Plan
  run: terraform plan
  env:
    AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
    AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

Hızlı Kontrol: Terraform Planı

Temel komutları anlamak, Terraform'u otomatik iş akışlarınızda etkili bir şekilde kullanmanın anahtarıdır.

Terraform Apply Kullanımında Dikkat Edilecekler

terraform apply komutu, altyapınızda gerçek değişikliklerin yapıldığı adımdır.

Otomatik işlem hatlarında terraform apply komutunu yalnızca plan çıktısı bir kişi tarafından incelendikten sonra veya yalnızca belirli dallarla (örneğin main ya da production) birleştirme yapıldığında tetiklemek yaygın bir uygulamadır. Bu, yanlışlıkla yapılan veya onaylanmamış altyapı değişikliklerini önler.

Terraform ve Actions ile IaC Özeti

Bu derste Kod Olarak Altyapı (IaC) yaklaşımının altyapıyı kod kullanarak yönetmeye nasıl yardımcı olduğunu inceledik. IaC için önde gelen araç olarak Terraform'a odaklandık; HCL sözdizimini ve temel init, plan, apply iş akışını öğrendik.

Ayrıca GitHub Actions'ın terraform init ve terraform plan adımlarını nasıl otomatikleştirebildiğini gördünüz. Böylece altyapı dağıtımlarınız daha güvenli, daha tutarlı ve CI/CD işlem hatlarınıza tamamen entegre hâle gelir.

Sıkça Sorulan Sorular

“Terraform ve GitHub Actions ile IaC” dersi ücretsiz mi?

Evet — “Terraform ve GitHub Actions ile IaC” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve CI/CD with GitHub Actions & DevOps Pipelines kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. CI/CD with GitHub Actions & DevOps Pipelines kursu toplamda 4 dersten oluşur.

“Terraform ve GitHub Actions ile IaC” dersinde ne öğreneceğim?

Altyapıyı hazırlamak ve yönetmek için Terraform'u GitHub Actions iş akışlarınıza nasıl entegre edeceğinizi anlayın. CI/CD with GitHub Actions & DevOps Pipelines ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

CI/CD with GitHub Actions & DevOps Pipelines öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te CI/CD with GitHub Actions & DevOps Pipelines, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Terraform ve GitHub Actions ile IaC” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu CI/CD with GitHub Actions & DevOps Pipelines dersinde kod yazıp çalıştırabilir miyim?

Evet. Her CI/CD with GitHub Actions & DevOps Pipelines dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Terraform ve GitHub Actions ile IaC
  2. Bulut Kaynaklarını Yönetme
  3. Altyapı Güncellemelerini Otomatikleştirme
  4. Terraform Durumunu ve Uzak Arka Uçları Yönetme
← CI/CD with GitHub Actions & DevOps Pipelines Sayfasına Dön