Ինչպես են աշխատում արհեստագործական հրահանգները, ինչ են ներկայացնում և որտեղ են պահվում ստացված արդյունքները։
sobes.tech AI
Պատասխան AI-ից
Նշումների ստեղծման արխիվներ (բիլդեր) սովորաբար ներկայացնում են սցրիպտներ կամ կոնֆիգուրացիոն ֆայլեր, որոնք նկարագրում են քայլերի հաջորդականությունը, անհրաժեշտ է հավաքելու, կոմպիլյացիայի, փաթեթավորման և պատրաստելու ծրագրային արտադրանքի կամ նրա բաղադրիչների համար:
Նրանք կարող են իրականացվել տարբեր եղանակներով:
- Makefile: Տարածված գործիք՝ նախագծերի հավաքման ավտոմատացման համար կախվածությունների հիման վրա:
- Սցրիպտներ տարբեր լեզուներով: Bash, Python, Groovy (Jenkins-ի համար), PowerShell և այլ սցրիպտային լեզուներ:
- Կոնֆիգուրացիոն ֆորմատներ: YAML (GitLab CI, GitHub Actions, Azure DevOps Pipelines համար), JSON (քիչ օգտագործվում հավաքման համար, ավելի շատ մետադատների համար), XML (Maven-ի համար):
Նմուշներ ֆորմատների:
# Makefile օրինակ
build:
gcc main.c -o myapp
zip myapp.zip myapp
# .gitlab-ci.yml օրինակ
build_job:
stage: build
script:
- gcc main.c -o myapp
- zip myapp.zip myapp
artifacts:
paths:
- myapp.zip
# Bash սցրիպտի օրինակ
#!/bin/bash
gcc main.c -o myapp
zip myapp.zip myapp
Նշումները սահմանում են.
- Նախնական քայլեր: Կոդի ստացում (գրադարանի ներբեռնում), կախվածությունների տեղադրում:
- Հիմնական հավաքման քայլեր: Կոմպիլյացիա, հղում, թեստերի կատարում:
- Փաթեթավորում: Արխիվների, կոնտեյներային պատկերների, ինստալատորների ստեղծում:
- Հետագա հավաքման քայլեր: Արտահանումների ստորագրում, հրապարակում:
Ստացված արդյունքները պահվում են հատուկ արտադրանքի պահոցներում (Artifact Repositories): Դրանք կենտրոնական պահոցներ են, նախատեսված բինարային ֆայլերի և այլ հավաքման արդյունքների պահպանման և կառավարման համար:
- Nexus Repository Manager: Աջակցում է տարբեր տեսակի արդյունքների (Maven, npm, Docker, NuGet և այլն):
- JFrog Artifactory: Նույնքան Nexus-ի նման, բազմատեսակ պահոց:
- Docker Registry: Մասնագիտացված Docker պատկերների պահեստ (Docker Hub, GitLab Container Registry, Azure Container Registry):
- S3-համատեղելի պահոցներ: Amazon S3, MinIO, որոնք օգտագործվում են ընդհանուր ֆայլերի պահեստավորման համար, այդ թվում՝ արդյունքների, երբեմն լրացուցիչ գործիքներով՝ ինդեքսավորման համար:
Պահպանումը արդյունքների պահոցում ապահովում է տարբերակային կառավարման, մուտքի վերահսկման, տեղակայման հարմարավետության և ինտեգրման այլ CI/CD գործիքների հետ: Սա ապահովում է, որ տեղակայման ժամանակ օգտագործվում են հենց այն տարբերակները, որոնք հաջողությամբ հավաքվել և փորձարկվել են։