Чӣ гуна истифода бурдани GitLab CI барои нигоҳ доштани маълумот байни чанд марҳилаи сохтмон?
sobes.tech AI
Ҷавоб аз AI
Барои нигоҳ доштани маълумот байни марҳилаҳои сохтмон дар GitLab CI, артефактҳо истифода мешаванд. Инҳо файлҳо ё директорияҳое мебошанд, ки дар як марҳила эҷод мешаванд ва дар марҳилаҳои оянда дастрас мебошанд.
Конфигуратсия дар .gitlab-ci.yml чунин менамояд:
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Натиҷаи сохтмон" > build_output.txt # Эҷоди файл
artifacts:
paths: # Номбар кардани файлҳо/директорияҳо барои нигоҳдорӣ
- build_output.txt
expire_in: 1 week # Вақти нигоҳдории артефактҳо
test_job:
stage: test
script:
- cat build_output.txt # Дастрасӣ ба файл аз марҳилаи гузашта
- npm test
needs: # Номбар кардани вобастагӣ аз марҳилаи гузашта
- build_job
deploy_job:
stage: deploy
script:
- deploy_script.sh
needs:
- test_job
Элементҳои асосӣ:
artifacts: Муайян мекунад, ки кадом файлҳо ё директорияҳо пас аз иҷрои марҳила нигоҳ дошта мешаванд.paths: Листи роҳҳо ба файлҳо ё директорияҳо, ки артефактҳо мешаванд.expire_in: Муайян мекунад, ки чанд вақт артефактҳо дастрас хоҳанд буд.needs: Ба таври возеҳ вобастагиро аз марҳилаи гузашта нишон медиҳад. GitLab CI автоматӣ артефактҳоро аз марҳилаҳои зикршударо пеш аз иҷрои марҳилаи ҳозира боргирӣ мекунад.
Бе needs, GitLab CI артефактҳоро аз ҳамаи марҳилаҳои гузашта дар ҳамин ё марҳилаҳои қаблӣ боргирӣ мекунад, ки метавонад ғайриэфектив бошад. Ифодаи возеҳ бо needs назорати дақиқтарро дар бораи он, ки кадом артефактҳо боргирӣ мешаванд, имкон медиҳад.
Ҳамчунин, мумкин аст cache-ро барои нигоҳ доштани вобастагиҳо истифода бурд, масалан, бастаҳое, ки насб шудаанд, аммо он барои суръат бахшидани сохтмонҳои такрорӣ пешбинӣ шудааст, на барои интиқоли натиҷаҳо аз як марҳила ба дигар. Артефактҳо асосии механизм барои интиқоли маълумоти баромад байни марҳилаҳо мебошанд.