Ücretsiz dağıtım aracı kullanarak geliştirme iş akışlarını otomatikleştirin. Yazılım dağıtım için Jenkins Automation Server ve GitHub ile CI/CD’nin nasıl kurulacağını öğreneceğiz.

Sürekli entegrasyon ve sürekli dağıtım

Geliştirme ekipleri, FTP gibi yazılım dağıtım için farklı yöntemler kullanır, depodan kod çekme ve daha fazlası kullanır. Tüm bu yöntemler manuel olarak gerçekleştirilir ve çok çaba gerektirir. Daha fazla ekibin yazılım geliştirme için çevik metodolojiyi takip ettiğini görebiliriz. Böylece, sık sık yeni özellikler ve hata düzeltmesi yayınlarlar. Bu nedenle, yazılım dağıtım iş akışlarını otomatikleştirmek, ekiplerin yeni sürümleri hızlı ve hatasız başlatmalarına yardımcı olur. Yazılım dağıtım işlemini otomatikleştirmek için Jenkins ve GitHub ile CI/CD’nin nasıl kullanılacağını öğreneceğiz. Bu makalede aşağıdaki bölümleri ele alacağız.

Jenkins nedir?

**Jenkins Yazılım dağıtım sürecini otomatikleştirmek için güçlü bir ücretsiz dağıtım aracı **. Oluşturma, test ve dağıtım için açık kaynaklı bir otomasyon sunucusudur. Jenkins usta-köle mimarisi kullanıyor. Bu, yazılım ekiplerinin yazılım için aynı anda birden fazla yapı ve test çalıştırmasını sağlar. Buna ek olarak, çok sayıda eklenti var ve ekipler bunları gerektiği gibi kullanabilir. Daha fazla bilgi ve kurulum için ** Jenkins sayfasını** ziyaret edebilirsiniz. Ayrıca, kaynak kodunu Jenkins ** Github** deposunda bulabilirsiniz.

Sürekli entegrasyon

Sürekli Entegrasyon , geliştiricilerin kodu sık sık paylaşılan bir depoya entegre etmesini gerektiren bir geliştirme uygulamasıdır. Kodun depoya her entegrasyonu/itme otomatik yapı ve testlerle doğrulanabilir. Ayrıca, geliştiricilerin koddaki sorunları kolayca tanımlamasına olanak tanır.

Sürekli dağıtım

Sürekli Dağıtım Sürekli entegrasyondan sonraki bir sonraki adımdır. Ekiplerin sunucuda sürekli kod dağıtmasına izin verir. Ayrıca, geliştiricilerin tekrarlayan görevleri azaltmasına ve çevikliği artırmasına yardımcı olur.

Jenkins’i yapılandırın

Jenkins’te yapılandırma için adım adım kılavuz izleyin.

  • Jenkins sitenizi açın ve giriş yapın.
  • “SSH üzerinden yayınlayın” eklentisini yükleyin. “Jenkins’i Yönet → Eklentileri Yönet → Mevcut” için gezinerek arayabilirsiniz.
  • Aşağıda gösterildiği gibi “Jenkins” kullanıcısı olarak yapı sunucusunda SSH tuşunu oluşturun.
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/jenkins/.ssh/id_rsa):
Created directory '/var/lib/jenkins/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /var/lib/jenkins/.ssh/id_rsa.
Your public key has been saved in /var/lib/jenkins/.ssh/id_rsa.pub.
The key fingerprint is:
  • SSH kullanarak hedef/dağıtım sunucusuna bağlanın. Aşağıdaki komutu çalıştırın ve pub dosyası içeriğini hedef sunucuya yapıştırın.
$ cd .ssh
$ nano authorized_keys
  • “Jenkins → Yapılandırma Sistemi → SSH Yayınla” yönetmek için gezinin.
  • Dosya yolunu bularak veya Dağıtım Sunucusu için yapılan içeriği yapıştırarak SSH tuşunu ekleyin.
  • “SSH sunucuları” nın yanındaki “Ekle” düğmesine tıklayarak bir SSH sunucusu ekleyin.
  • Dağıtım/hedef sunucusu için ad, ana bilgisayar adı, kullanıcı adı ve uzak dizin girin.
  • Jenkins’in dağıtım sunucusuna bağlanabildiğinden emin olmak için Test Yapılandırma düğmesine tıklayın.
  • Son olarak, bilgileri saklamak için Kaydet düğmesine tıklayın.

Jenkins işini yarat

Bu adımları Jenkins işi oluşturmak için kullanabilirsiniz.

  • Jenkins Gösterge Tablosunu Açın ve “Yeni Öğe” düğmesine tıklayın.
  • Proje adını girin ve “serbest stil işi” seçin.
  • Github depo URL’sini “Yapılandırma Penceresi” altına girin.
  • “Yapı Ortamı” bölümünde, “Derleme Başlamadan Önce Çalışma Alanı Sil” ve “Dosya Gönder veya Yapım Çalışmaları’ndan sonra SSH üzerinden komutlar yürüt” seçeneklerini kontrol edin.
  • Yapı ortamı altında ad, kaynak dosyaları ve uzaktan dizin girin.
  • İşten kurtarın ve inşa edin.
  • Dağıtım sunucusuna bağlanın ve kodun orada olduğundan emin olun.

Çözüm

Bu makalede Jenkins sunucusu, sürekli entegrasyon ve sürekli dağıtım tartıştık. Ayrıcaücretsiz dağıtım aracının nasıl yapılandırılacağını öğrendik ve GitHub’ı kullanarak dağıtım için bir Jenkins işi oluşturduk. Ücretsiz CI/CD aracı, geliştirme ekibinin yazılım dağıtım iş akışlarını otomatikleştirmesini ve önemli işlere odaklanmasını sağlar. Önümüzdeki yayınlarda diğer dağıtım araçlarını ele alacağız. Son olarak, Containerize.com diğer açık kaynak dağıtım araçları hakkında makaleler yayınlayacaktır. Bu nedenle, düzenli güncellemeler için lütfen dağıtım araçları kategorisiyle iletişim halinde olun.

Keşfetmek

Aşağıdaki bağlantıları alakalı bulabilirsiniz: