Terraform değişikliklerini tek ortak yerden çalıştırın

Terraform kodunuzu Semaphore'a bağlayın. Çalışma alanı seçin, plan çıktısını inceleyin, Apply çalıştırın ve yürütme geçmişini ekibin erişimine açık tutun.

Değişiklik incelendi. Çalıştırma tekrarlanabilir mi?

Kod Git'te; ancak çalışma alanı, değişkenler ve kimlik bilgileri terminal oturumları arasında farklı olabilir. Sonraki mühendise aynı başlangıç noktası gerekir.

Her altyapı işlemi için kayıtlı ayar oluşturun

  • Yapılandırma dizinini ve çalışma alanını kaydedin
  • Değişkenleri yeniden kullanılabilir Değişken Gruplarıyla sağlayın
  • Plan ve Apply'ı ayrı kayıtlı görevler olarak inceleyin

Terraform işlemlerini ekibin sürecine dahil edin

Uygulama ortamı hazırlayın

Yapılandırma dizini ve çalışma alanı için şablon oluşturun. Ortam girdilerini Değişken Gruplarıyla sağlayın.

Hazır işi paylaşın

Önerilen altyapı değişikliğini inceleyin

Yalnızca Plan görevi başlatıp çıktısını paylaşın. Ekip değişiklik yapmaya hazır olduğunda Apply'ı ayrı eylem olarak çalıştırın.

Hazır işi paylaşın

Altyapıyı sapma için yeniden kontrol edin

Yapılandırmayı altyapıyla karşılaştırmak ve her plan çıktısını saklamak için yalnızca Plan şablonu zamanlayın. Plandaki farkları inceleyin.

Zamanlama oluşturun

Terraform'u yapılandırıp yalnızca Plan çalıştırması başlatın

Hazırlıktan yapılandırılmış servise devam edin

Başarılı Terraform adımı altyapı çıktılarını otomatik yayımlar. Bu değerleri Ansible görevinin girdilerine eşleyin, sonra yapılandırılmış servisi Python ile doğrulayın. İş akışları işleri, verilerini ve başarı veya hata yollarını birbirine bağlar.

Uygulama ortamı dağıtımıİş akışı
Altyapıyı hazırlayın
BaşarılıysaÇıktılar → girdiler
Servisleri yapılandırın
BaşarılıysaÇıktılar → girdiler
Dağıtımı doğrulayın
Hata olursa
Tanılama topla

Terraform işleri için çalışma alanları, girdiler ve durum

Planlamayı uygulamadan ayırın

Önerilen değişiklikleri uygulamadan incelemek için Plan seçin. Apply ayrı çalıştırmadır. Sonraki Apply, önceki Plan görevinin kayıtlı çıktısını otomatik kullanmaz.

Çalışma alanını ve girdileri seçin

Şablonun Inventory alanından Terraform çalışma alanı seçin. Girdiler için TF_VAR_ adlarıyla Değişken Grupları kullanın. Çalışma alanı seçimi farklı değişken veya kimlik bilgilerini otomatik seçmez.

Kendi backend'inizi koruyun veya Semaphore'unkini kullanın

Terraform kodunuzdaki backend ile devam edin. Pro bunu kilitleme, durum sürümleri ve arayüz yönetimi sağlayan Semaphore HTTP backend'iyle değiştirebilir.

Tutarlı Terraform çalışma ortamı hazırlayın

Semaphore yürütmeden önce init çalıştırır. Terraform sürümünü, sağlayıcıları, özel modül kimlik bilgilerini ve API erişimini işi yürüten sunucu veya çalıştırıcıda hazırlayın.

FAQ

Mevcut Terraform yapılandırmalarımı Semaphore'da çalıştırabilir miyim?

Evet. Depo ve yapılandırma dizinine işaret eden Terraform Görev Şablonu oluşturun. Çalışma alanını seçin, girdileri Değişken Gruplarıyla sağlayın ve gereken Terraform çalışma ortamını hazırlayın. Semaphore yapılandırmayı çalıştırıp görev çıktısı ve yürütme durumunu saklar.

Terraform durumunu Semaphore'a taşımam gerekiyor mu?

Hayır. Terraform kodda yapılandırılmış backend'i kullanmaya devam edebilir. Pro'da durum kilitleme, sürüm geçmişi ve arayüz yönetimi için Semaphore HTTP backend'ini seçebilirsiniz. Mevcut erişim ve kurtarma sürecinize uygun backend seçin.

Terraform çalışma alanı seçmek değişkenleri ve kimlik bilgilerini de değiştirir mi?

Hayır. Çalışma alanı seçimi durum çalışma alanını seçer. İşin ihtiyaç duyduğu değişken ve kimlik bilgilerini ayrıca yapılandırın. Farklı girdilere sahip ortamlar için Görev Şablonu ve Değişken Gruplarının bilinçli birleşimlerini kullanın; amaçlanan kapsamı şablon adında açık tutun.

Apply önceki görevin planını kullanır mı?

Sonraki bir Apply, önceki Plan görevinin kayıtlı çıktısını otomatik olarak kullanmaz. Bunlar ayrı çalıştırmalardır. Önerilen değişiklikleri incelemek için Plan'ı kullanın, sonra amaçlanan Apply işlemini seçin. Görev geçmişi her çalıştırmanın çıktısını ve sonucunu saklar.

Zamanlanmış Terraform planı sapmayı incelemeye yardımcı olabilir mi?

Evet. Yalnızca Plan şablonu zamanlayın ve yapılandırma ile altyapı farkları için çıktısını inceleyin. Her çalıştırmanın kaydı vardır. Bu, plandaki her sapma için otomatik bildirim değil düzenli incelenecek plan sağlar.

Terraform hazırlığından sonra Ansible yapılandırması çalışabilir mi?

Evet. İş Akışında Terraform Görev Şablonunu Ansible şablonundan önce koyun; ardından Python hazır olma işi gibi kontroller ekleyin. Her adımı başlatan koşulları yapılandırın. Terraform planı ve durumu İş Akışı koordinasyonundan ayrı kalır.

Terraform değişkenlerini ve kimlik bilgilerini nasıl sağlarım?

Şablona Değişken Grupları ekleyin. Terraform girdi değişkenleri için TF_VAR_ adlarını, kimlik doğrulamada sağlayıcıların beklediği ortam değerlerini kullanın. Hassas değerleri gizli kayıtlarda tutun ve modül ile backend erişimini yürütme ortamında hazırlayın.

Bu Semaphore Terraform sağlayıcısıyla aynı mı?

Hayır. Bu entegrasyon altyapı Terraform yapılandırmalarını Semaphore görevleri olarak yürütür. Semaphore Terraform sağlayıcısı ters yönde çalışır: desteklenen Semaphore kaynaklarını yönetmek için Terraform kullanır. Yaklaşımları bağımsız kullanabilir veya birleştirebilirsiniz.