Sobes.tech
Middle

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.