Modül Kodlarının Build ( Pipeline ) alınması¶
Github üzerinde proje açılması¶
- https://github.com/organizations/Alpata/repositories/new adresinden yetkili kullanıcınız ile

- resimdeki gibi bilgilerinizi doldurmanız gerekmektedir.
- isterseniz dosyaları ilk github a gönderip sonra gitlaba https://gitlab.alpatateknoloji.com/import/github/new adresinden import edebilirsiniz.

- eğer gitlab import işlemini yaparsanız gitlab a proje oluşturma adımını uygulamanıza gerek kalmaz
Gitlab Proje Açma¶
- https://gitlab.alpatateknoloji.com/projects/new#blank_project adresinizden gitlab kullanıcınız ile

- bilgilerini girerek oluşturabilirsiniz burda Project URL kısmında alpata seçmeniz gerekmektedir.
Proje Config Ayarlama¶
- ilk olarak projenin ana dizinindeki .gitlab-cli.yml dosyasının GITHUB_URL: değişkeninin projenin githubdaki path ini doğru aldığından emin olmamız gerek

- yine projenin ana dizininde .gitlab klasörünün altındaki .gitlab-cli-test.yml dosyasının değişkenlerini yani variables kısmının bilgilerini kontrol etmemiz gerek

-
özellikle REGISTRY_NAME name kısmının gitlab üzerindeki proje path i ile aynı olması ve hepsinin kucuk harf olmasına dikkat etmemiz gerek.
-
resimlerdeki gibi ilgili ayarlamaları yaptığımızda development branch ine commit gönderdiğimizde sadece github ile yedekleme test brachine kod gönderdiğimizde ise docker üzerinde build alma işlemini tetiklemesi gerekmektedir.
Build Takibi¶
- Logistic projesi için baktığımızda https://gitlab.alpatateknoloji.com/root/OctaPull-Logistic/-/pipelines adresinde diğer projelerdede repo ismi değişip projelerde build listesini görebiliriz

- development build leri 2 adımdan oluşur birinci adım github adresini remote olarak eklemedir eğer bir defa eklendiyse uyarı zaten eklenmiş şeklinde görünür
- development build leri ikinci adımda ise github üzerinde gönderilmiş bir commit varsa gitlab a çeker eğer gitlab üzerine gönderilmiş bir commit var ise github a gönderir ve eşleme işlemi tamamlanır otomatik merge çalışır eğer sorun olursa ve bu adımı atlamazsa ilgili geliştirici kendi bilgisayarında bu birleştirmeyi yapıp tekrar gitlab a kodu göndermelidir.

- test buildlerinde de development build adımları geçerlidir fakat sonrasında docker build adımları eklenir ve kurallar geçerlidir.

- daha önce düzenlediğimiz .gitlab-ci-test.yml üzerindeki değişkenlere göre docker buildler tetiklenir ve çalışır.
- build hataları doğrudan geliştirici kodları ile ilgili olabilir fakat sunucu bağımlı bir hata ise build i tekrar tetikleyebilirsiniz.
- en sık rastlanan hata sunucu diskinin dolmasıdır bunun için sunucu temizleme dokümanına göz atabilirsiniz.
- burdaki mantık tamamen kendi bilgisayarlarınızda build alma ile aynı sadece bu sunucuların işleri sadece build alma eğer siz gerekli programları sunucuya yüklemediyseniz mesela .net core 3.1 sdk yoksa gidip sunucuya kurulum işlemlerini tamamlamanız gerekmektedir.
- gitlab runner mimarisi için https://docs.gitlab.com/runner/ dokümanlarını inceleyebilirsiniz.
