Sobes.tech
Middle

Ինչպես են աշխատում արհեստագործական հրահանգները, ինչ են ներկայացնում և որտեղ են պահվում ստացված արդյունքները։

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

Նշումները սահմանում են.

  1. Նախնական քայլեր: Կոդի ստացում (գրադարանի ներբեռնում), կախվածությունների տեղադրում:
  2. Հիմնական հավաքման քայլեր: Կոմպիլյացիա, հղում, թեստերի կատարում:
  3. Փաթեթավորում: Արխիվների, կոնտեյներային պատկերների, ինստալատորների ստեղծում:
  4. Հետագա հավաքման քայլեր: Արտահանումների ստորագրում, հրապարակում:

Ստացված արդյունքները պահվում են հատուկ արտադրանքի պահոցներում (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 գործիքների հետ: Սա ապահովում է, որ տեղակայման ժամանակ օգտագործվում են հենց այն տարբերակները, որոնք հաջողությամբ հավաքվել և փորձարկվել են։