Promptcloud, Gerrit ve Jenkins Entegrasyon Kurulumunu araştırıyor

Yayınlanan: 2017-01-20
İçindekiler gösterisi
Gerrit ve Jenkins Kullanarak Entegrasyon Kurulumu
Gerrit nedir?
Jenkins ve Kullanımları Nedir?
Sürekli Entegrasyon için İş Akışı
1. Gerrit'in Kurulumu
2. İlk Giriş
3. SSH Anahtar Oluşturma
4. Jenkins Kurulumu
5. Jenkins sürecini başlatın

Gerrit ve Jenkins Kullanarak Entegrasyon Kurulumu

Bir geliştiricinin hayatı, tekrarlayan ve karmaşık görevlerle biraz monotonlaşabilir. Neyse ki, bir kez kurduktan sonra hiç şikayet etmeden sıradan görevleri düzenli olarak halledebilen araçlarımız var. Test ve dağıtıma otomasyon eklediğinizde, çözüm “sürekli entegrasyon” olarak adlandırılabilir. Böyle bir kurulum, projeleri otomatik olarak test edebilir ve dağıtabilir, bu da size kodu sunuculara göndermekten ziyade yazmaya odaklanmanız için daha fazla zaman verir. Gerrit ve Jenkins'i kullanarak sürekli entegrasyon kurulumuyla nasıl ilerleyebileceğiniz aşağıda açıklanmıştır. Gerrit ve Jenkins Kullanarak CI Kurulumu

Gerrit nedir?

Gerrit, değişiklikleri git istemcisinden göndermenize, değişiklikleri gözden geçirmenize ve ana kodla otomatik birleştirmenize olanak tanıyan web tabanlı bir arayüze sahip git tabanlı bir açık kaynak kod inceleme sistemidir. Her değişiklik yapıldığında, aynısı için yama setleri yapılır. Gerrit, farklı yama seti karşılaştırmalarına izin verir. Ayrıca, belirli satırlarda veya tüm yamanın tamamında geri bildirim ekleme veya inceleme yapma seçeneğine de sahiptir. Gözden geçirenler, değişiklikleri aşağıdan biriyle derecelendirebilir: +2 – Bana iyi görünüyor, onaylandı. +1 - Bana iyi görünüyor, ancak başka birinin onaylaması gerekiyor. 0 – Puan yok. -1 – Bunu göndermemenizi tercih ederim. -2 – Göndermeyi engelle. +2 incelemesi, kodun varsayılan olarak master'a gönderilebileceği anlamına gelir. Bu, gerektiği gibi yapılandırılabilir.

Jenkins ve Kullanımları Nedir?

Jenkins, sürekli entegrasyon için kullanılan popüler bir yapı sunucusudur. Web tabanlıdır ve değişiklikler meydana geldiğinde ve meydana geldiğinde yapı süreci otomasyonuna izin verir. Jenkins, Git veya Gerrit olmadan bile bağımsız olarak çalışabilir. Olay tetikleyicilerine izin veren kancalara sahiptir, bu nedenle bir değişiklik meydana geldiğinde otomatik olarak bir derleme yapılır. Jenkins ve Gerrit birlikte kullanıldığında, yapıların testleri geçip geçmediklerini gösteren bir başarı/başarısızlık işareti olacaktır. Jenkins, bir derleme gerçekleştirdikten sonra test regresyonunu çalıştıracaktır. Tamamlandığında, tıpkı gözden geçirenlerden biri gibi test sonuçlarını yayınlayacaktır. Derlemenin başarısız olması durumunda yamayı reddedecektir. Test hatası durumunda CI'nizin kalitesine bağlı olarak -1 veya -2 ayarlayabilirsiniz. Bununla birlikte, diğer kod gözden geçirenler de bu noktada kodu gözden geçirebilir. Tüm incelemeler başarılı olursa, kod genel bir havuza aktarılabilir .

Sürekli Entegrasyon için İş Akışı

  1. Geliştirici Git'ten kaynağı kontrol eder
  2. Geliştirici gerekli değişiklikleri yapar
  3. Geliştirici, değişiklikleri Gerrit'e aktarır
  4. Gerrit, entegrasyon testi için Jenkins'e değişiklik bildirimi gönderdi
  5. Jenkins, değişiklikleri doğrudan Gerrit git sunucusundan alır ve tüm test senaryolarını proje yapılandırmamıza göre çalıştırır
  6. Diğer geliştiriciler değişiklikleri inceler ve onaylar (+2)
  7. Gerrit, Jenkins yapıyı geçtiğinde ve değişiklikler diğer geliştiriciler tarafından onaylandığında, ana proje git deposundaki değişiklikleri birleştirir

Gerrit ve Jenkins İş Akışını Kullanarak Entegrasyon Kurulumu 1. Gerrit'in Kurulumu

  • Gereksinim: JRE, minimum sürüm 1.8.
  • tGerrit savaş paketini indirme bağlantısı

MySQL'iniz varsa, Gerrit veritabanı için kullanabilirsiniz. Gerrit için MySQL'de kullanıcılar ve veritabanları oluşturun.

mysql> KULLANICI OLUŞTUR 'gerrit2'@'localhost' 'gizli' TARAFINDAN TANIMLANIR;

mysql> VERİTABANI OLUŞTUR incelemedb;

mysql> Reviewdb'DE HER ŞEYİ VERİN.* 'gerrit2'@'localhost' için;

mysql> FLUSH AYRICALIKLARI;

Şimdi siteyi başlatmak için aşağıdaki komutu çalıştırın.

 # java -jar gerrit.war init –batch -d ~/

Bu başlatma sırasında gerrit hizmeti varsayılan olarak başlatılır. Eğer mysql veritabanı, oturum açma kimlik doğrulaması, e-posta sunucusu ve httpd url gönderme gibi herhangi bir değişiklik yapmak istiyorsanız, ~//etc/gerrit.config dosyasını düzenleyebilir ve ~//etc/ secure dizinine ldap ve veritabanı şifre ayrıntılarını ekleyebilirsiniz. .config dosyası. Herhangi bir ayar değişikliği yapılırsa, gerrit hizmetinin yürürlüğe girmesi için yeniden başlatılması gerekir.

 # ~//bin/gerrit.sh yeniden başlat

~//bin/gerrit.sh betiğini gerrit olarak init.d dizinine kopyalayın ve makine önyüklemesi sırasında başlatmak için ekleyin.

2. İlk Giriş

Şimdi Gerrit URL'nizi tarayıcıya yükleyin. Bu komutu kullanarak da Gerrit web URL'sini bulabilirsiniz.

# git config -f ~//etc/gerrit.config gerrit.canonicalWebUrl

Şimdi Gerrit web arayüzünde oturum açmak için Gerrit yapılandırma dosyasında yapılandırdığınız yöntemi kullanarak oturum açma kimlik doğrulamasını kullanın. Varsayılan olarak, OpenID'dir. LDAP, en çok kullanılan kimlik doğrulama yöntemlerinden biridir.

Gerrit Web Sayfasına başarılı bir şekilde giriş yaptıktan sonra, geliştirmeyi yapacağınız istemci makinenize giriş yapmalısınız. ssh oturumlarınız için RSA anahtarları oluşturmanız gerekir. Dosyalarınız zaten varsa, anahtar oluşturma adımını atlayabilirsiniz.

# ls -l ~/.ssh

yetkili_anahtarlar yapılandırması id_rsa id_rsa.pubknown_hosts

3. SSH Anahtar Oluşturma

# ssh-keygen -t rsa

Genel/özel rsa anahtar çifti oluşturuluyor.

Anahtarın kaydedileceği dosyayı girin (/home/user/.ssh/id_rsa):

Parola girin (parola yoksa boş):

Aynı parolayı tekrar girin:

Kimliğiniz /home/user/.ssh/id_rsa klasörüne kaydedildi.

Genel anahtarınız /home/user/.ssh/id_rsa.pub içine kaydedildi.

Anahtar parmak izi:

SHA256:dMMVqsoLDf8T/d5Niob69oea3rkSLTBltiZ8s1lbdeA user@localhost

Anahtarın randomart görüntüsü:

+—[RSA 2048]—-+

| o… |

| .+o . o|

| ..+=. E..|

| .=o=.. . |

| . SB * o |

| = .. * o |

| . = . = . .|

| . Ö. +o++.+ |

| . o*=*Boo.|

+—-[SHA256]—–+

# kedi ~/.ssh/id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwoWTT6S1pv2LP0l6r8305njSLtoupDCw8Df
GnaqW+ppfzNMtRJmAvCQpYuvE154EsGZC5csnRkUYAScOD3nri8NBsXMdD+m1mMyD
lA4ssMLhWHfstJGQ5aJ84NIR+zFK9o9QmDCVYU/
MYt2SZnmzi+Pdd4QbDWKisewmtun5rpy8vXWukKt9CHGTbv5lKyRVPF
LuQCynKbniZLV7aQD6gsVcZFG7Hj3ezBhDAZdBrCWLldy0S61DAmdH5C94xmlSuraq
HiX0pkLi4J67msvOUW6dBfeCP1VsMNz0j/
91LPIOMf5I2r1fRw1s/J1z/
UcsgBDyATwSKocNklkrd8+pp user@localhost

  • Yukarıdaki genel anahtarı kopyalayın ve gerrit web url'nize gidin
  • Web sayfasının sağ köşesindeki kullanıcı adını kontrol edin ve ayarlar bağlantısını bulmak için kullanıcınıza tıklayın
  • Sol tarafta “SSH Public Keys”i bulabilirsiniz, üzerine tıklayın
  • Şimdi “Anahtar Ekle” düğmesine tıklayın, ssh ortak anahtarınızı yapıştırın ve ekleyin

Gerrit ve Jenkins SSH Anahtar Oluşturucu Kullanarak Entegrasyon Kurulumu Oturum açan ve bir hesap açan ilk kullanıcı, otomatik olarak tam ayrıcalıklı Yöneticilere yerleştirilecektir. Artık proje oluşturma ayrıcalıklarına sahipsiniz. “Projeler” Sekmesine tıklayın ve 'Yeni Projeler Oluştur'a tıklayın. Şimdi başlamak için proje Adını girin. CI kurulumu İşte, projeyi sisteminizde klonlayın ve geliştirme kodlarınızı eklemeye başlayın. # ssh [email protected] -p 29418

**** Gerrit Kod İncelemesine Hoş Geldiniz **** Merhaba selvam, SSH üzerinden başarıyla bağlandınız. Ne yazık ki, etkileşimli kabuklar devre dışı bırakıldı. Barındırılan bir Git deposunu klonlamak için şunu kullanın: git klon ssh://[email protected]:29418/REPOSITORY_NAME.git 192.168.56.137 bağlantısı kapatıldı.

# git klon ssh: //[email protected] :29418/Gerrit_Test

4. Jenkins Kurulumu

Jenkins'i apt-get veya deb paketini kullanarak kurabilirsiniz.

  • sudo apt-get güncellemesi
  • sudo apt-get install jenkins

Jenkins yapılandırması, Java konumunu ve JAVA_ARGS'yi değiştirebileceğiniz /etc/default/jenkins içinde bulunur. Varsayılan olarak, jenkins 8080'de çalışır. Gerrit ve jenkins'i aynı makinede çalıştırıyorsanız, varsayılan 8080 bağlantı noktası gerrit tarafından zaten işgal edilmiştir. Burada jenkins portunu değiştirmeniz gerekiyor. Bunu değiştirmek için HTTP_PORT değerini farklı bir bağlantı noktasında çalışacak şekilde düzenleyin.

5. Jenkins sürecini başlatın

# /etc/init.d/jenkins start Tarayıcınıza gidin ve jenkins sayfasını jenkins ana bilgisayar adınız ve bağlantı noktası numaranızla yükleyin.

 https://:/

Jenkins 2.*'yi yüklediyseniz, jenkins web sayfası ilkAdminPassword'ü soracaktır. Şifreyi /var/log/jenkins/jenkins.log dosyasında bulabilirsiniz. Günlük aşağıdaki gibi görünür:

Jenkins ilk kurulumu gereklidir. Bir yönetici kullanıcı oluşturuldu ve bir şifre oluşturuldu. Kuruluma devam etmek için lütfen aşağıdaki şifreyi kullanın: f16b093akcnml397jcdoa239d6bafb9 Bu ayrıca şu adreste bulunabilir: /var/lib/jenkins/secrets/initialAdminPassword
  • Şimdi git ve gerrit eklentisini jenkins'e kurmak için Jenkins -> Jenkins'i Yönet -> Eklenti Yöneticisi'ne gidin
  • 'Kullanılabilir' sekmesine tıklayın ve ' Git Eklentisi'ni arayın ve 'Yeniden Başlatmadan Yükle'ye tıklayın. Tekrar ' Gerrit Trigger'ı arayın ve “Yeniden başlatmadan Kur”a tıklayın. Son olarak, kurulu listede olup olmadığını kontrol edin.

Gerrit ve Jenkins Plugin Kullanarak Entegrasyon Kurulumu Jenkins işlemi, jenkins kullanıcısı tarafından çalıştırılır. Bu nedenle, gerrit'te jenkins kullanıcısı için erişimi etkinleştirmemiz gerekiyor.

  • Kimlik doğrulama yönteminizi kullanarak gerrit'te jenkins kullanıcısı oluşturun
  • Şimdi daha önce yaptığımız gibi jenkins kullanıcısı için ssh-keygen oluşturun. Ancak bu sefer, anahtarı boş parola ile oluşturun ve jenkins kullanıcısı için genel anahtarı gerrit'e kopyalayın.
  • Şimdi yeni bir iş oluşturmak için 'Yeni Öğe'yi tıklayın ve git url'nizi Kaynak Kodu Yönetimi/Git bölümüne ekleyin. Ayrıca, Oluşturma Tetikleyicilerinde "Gerrit olayı"nı seçin ve Gerrit Proje Modelini girin.

Gerrit ve Jenkins Event Kullanarak Entegrasyon KurulumuCI Entegrasyon Etkinliği Son olarak, yapılandırmayı kaydedin. Mükemmel, Gerrit ve Jenkins kurulumunuz artık tamamlandı.