Gitlab Projeden Projeye Yaml Triggerlamak
  1. Anasayfa
  2. Open Source

Gitlab Projeden Projeye Yaml Triggerlamak

0

Gitlab Projeden Projeye Yaml Triggerlamak.

Bu yazıda Gitlab’da yetkimizin olmadığı A projesindeki Yaml’ı B projesinde nasıl çalıştırırız bundan bahsedeceğim. Normalde trigger ve include parametreleri ile bu işlemi yapabiliriz. Ama benim üzerinde duracağım konu çalışan kişinin A projesinde yetkisi olmaması durumunda nasıl çalıştıracağımız. Çünkü yetki olmaması durumunda trigger ve include parametreleri yetkisi yok hatası vermektedir. Trigger ve include için örnekleri görebilirsiniz.

Gitlab Projeden Projeye Yaml Triggerlamak

Resim-1

Gitlab Projeden Projeye Yaml Triggerlamak

Resim-2

A projesindeki Yaml dosyası hazırlığı

Şimdi ilk olarak A projesindeki Yaml’ımızı hazırlayacağız. Burada docker build ve docker push işlemini yapan bir Yaml olacak.

Gitlab Projeden Projeye Yaml Triggerlamak

Resim-3

Buradaki yaml’ımız da docker build işlemini yaptıktan sonra giltab’ın container registry’sine push işlemini yapmaktadır. İmage name’ı parametrik olarak almaktadır. Buradaki yaml’ı tamamladıktan sonra B projesine geçebiliriz.

B projesine bakış

B projesi için öncelikle build olacak projeyi ve dockerfile’ını proje içine koyuyoruz.

Gitlab Projeden Projeye Yaml Triggerlamak

Resim-4

Bu işlemi tamamladıktan sonra .gitlab-ci.yml’ımızı hazırlayabiliriz. Bu .gitlab-ci.yaml 2 job adımından oluşacak. Birinci job git clone ile docker-build.yaml’ın bulunduğu projeyi indireceğiz. İkinci job’da da indirdiğimiz proje içindeki docker-build.yaml’ı kullanarak docker build ve docker push işlemlerini yapacağız.

İlk olarak git clone job ile başlıyoruz.

Gitlab Projeden Projeye Yaml Triggerlamak

Resim-5

Burada git clone komutunu kullanarak A projesini indiriyoruz. İndirme sırasında 3 tane variable veriyoruz. Artifact parametresi ile indirdiğimiz a-projesinin içindeki tüm yaml dosyalarını diğer joblarında kullanmasını sağlıyoruz. Eğer artifact parametresini vermezsek diğer joblar git-clone job’ındaki yaml’ları göremez ve job yaml’ı bulamadım diye hata atar.

TRIGGER_BRANCH: A projesinde indireceğimiz branch’i belirtmek için

TRIGGER_CI_NAME: Access token’ın adı için

TRIGGER_CI_TOKEN: Access token için

Access token oluşturmak için A projesinin settings’deki Access Token alanına giriyoruz.

Gitlab Projeden Projeye Yaml Triggerlamak

Resim-6

Burada gerekli bilgileri doldurarak bir tane Access Token oluşturuyoruz.

Gitlab Projeden Projeye Yaml Triggerlamak

Resim-7

Create projects access token butonuna bastıktan sonra token oluşur. Bu oluşan token’ı saklamanız gerekmektedir.

Gitlab Projeden Projeye Yaml Triggerlamak

Resim-8

CI-CD’ler için token bilgilerinin variables alanında eklenmesi

Bu oluşturduğumuz token bilgilerini ana variables kısmına ekleyerek tüm CI-CD’lerin kullanmasını sağlıyoruz. Bunun için admin area sayfasındaki settings’deki CI-CD alanına gidiyoruz.

Gitlab Projeden Projeye Yaml Triggerlamak

Resim-9

Gitlab Projeden Projeye Yaml Triggerlamak

Resim-10

Burada variables alanından yeni variable ekleyerek TRIGGER_CI_NAME ve TRIGGER_CI_TOKEN tanımlamalarını yapıyoruz.

Gitlab Projeden Projeye Yaml Triggerlamak

Resim-11

Gitlab Projeden Projeye Yaml Triggerlamak

Resim-12

Gitlab Projeden Projeye Yaml Triggerlamak

Resim-13

Bu eklemeler yapıldıktan sonra tüm CI-CD’ler bu variableları kullanabilir.

Docker buid ve Docker push yapılması

Şimdi ikinci job’ımız olan projenin docker build ve docker push işlemlerinin yapılması. Bunun için b projesindeki .gitlab-ci.yaml’a trigger job’ımızı ekliyoruz.

Gitlab Projeden Projeye Yaml Triggerlamak

Resim-14

Burada job’ımızın adını b-projesi veriyoruz. Trigger için de git-clone job’ındaki artifact olarak aldığımız a-projesinin içindeki docker-build.yaml’ı kullanıyoruz. Bu sayede docker-build.yaml içindeki job’ları çalıştırmış oluyoruz. Oluşacak ve pushlanacak image adını da b-projesi olarak veriyoruz.

.gitlab-ci.yaml dosyamız tamamen hazırlamış olduk artık tag çıkarak yeni image oluşturabiliriz.

Gitlab Projeden Projeye Yaml Triggerlamak

Resim-15

Gitlab Projeden Projeye Yaml Triggerlamak

Resim-16

Resim-17

Gitlab Projeden Projeye Yaml Triggerlamak

Resim-18

Gitlab Projeden Projeye Yaml Triggerlamak

Resim-19

Bugün yetkimizin olmadığı bir projedeki Yaml’ı kendi projemiz de nasıl kullanacağımızı işledik. Gitlab Projeden Projeye Yaml Triggerlamak yazısını keyifle okumanız dileğiyle.

Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

https://docs.gitlab.com/ee/ci/yaml/

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

8 Haziran 1995 yılında Ankara Gölbaşı'nda doğdum. Üniversite yıllarına kadar öğretim hayatımı Gölbaşı'ndaki okullarda geçirdim. Ankara Yıldırım Beyazıt Üniversitesi Bilgisayar Mühendisliği bölümü mezunuyum. Liseden başlayıp üniversitenin sonuna kadar amatör futbol oynadım. 2018 yılında mezun olduktan sonra BiSoft Bilgi Teknolojileri'nde Yazılım Uzman Yardımcısı olarak işe başladım. Daha sonra DevOps Uzman Yardımcısı pozisyonuna geçtim. Şuan Bimser Çözüm firmasında DevOps Uzmanı olarak iş hayatımı sürdürüyorum. Pozisyonumda kendimi geliştirerek yoluma devam ediyorum ve sizlere bu deneyimlerimi aktarmaya çalışacağım.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir