GitLab CI-dən istifadə edərək bir neçə quruluş mərhələsi arasında məlumatların saxlanılması necə həyata keçirilir?
sobes.tech Süni İntellekt
AI-dan cavab
GitLab CI-də məlumatları quruluş mərhələləri arasında saxlamaq üçün artefaktlar istifadə olunur. Bunlar bir mərhələdə yaradılan və növbəti mərhələlərdə mövcud olan fayllar və ya qovluqlardır.
.gitlab-ci.yml faylında konfiqurasiya aşağıdakı kimidir:
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Quruluş nəticəsi" > build_output.txt # Fayl yaradılır
artifacts:
paths: # Saxlanılacaq fayl və ya qovluqları göstərin
- build_output.txt
expire_in: 1 week # Artefaktların saxlanma müddəti
test_job:
stage: test
script:
- cat build_output.txt # Əvvəlki mərhələdən fayla giriş
- npm test
needs: # Əvvəlki mərhələyə asılılığı göstərin
- build_job
deploy_job:
stage: deploy
script:
- deploy_script.sh
needs:
- test_job
Əsas elementlər:
artifacts: Mərhələ tamamlandıqdan sonra hansı fayl və ya qovluqların saxlanacağını müəyyən edir.paths: Artefakt olacaq fayl və ya qovluqların yolları siyahısı.expire_in: Artefaktların nə qədər müddət əlçatan olacağını müəyyən edir.needs: Cari mərhələnin əvvəlki mərhələyə olan asılılığını açıq şəkildə göstərir. GitLab CI avtomatik olaraq göstərilən mərhələlərdən artefaktları yükləyəcək.
needs olmadan, GitLab CI bütün əvvəlki mərhələlərdən artefaktları eyni və ya daha erkən mərhələlərdə yükləyəcək ki, bu da səmərəsiz ola bilər. needs ilə açıq şəkildə göstərilən asılılıqlar, hansı artefaktların yüklənəcəyini daha dəqiq idarə etməyə imkan verir.
Həmçinin, asılılıqları saxlamaq üçün cache istifadə etmək olar, məsələn, quraşdırılmış paketlər, lakin bu, təkrarlanan qurğuları sürətləndirmək üçün nəzərdə tutulub, mərhələ-dən-mərhələ nəticələri ötürmək üçün deyil. Artefaktlar, mərhələlər arasında çıxış məlumatlarını ötürmək üçün əsas mexanizmdir.