Projekti Cicada zhvillon një sistem automatizimi ndërtimi, të ngjashëm me GitHub Actions

Sistemi i hapur për automatizimin e proceseve të ndërtimit Cicada është i disponueshëm dhe lejon që në serverin tuaj të ndërtoni një infrastrukturë të ngjashme me GitHub Actions, Azure DevOps dhe Gitlab CI, pa u varur nga shërbimet në re. Kodi i projektit është shkruar në gjuhën Python dhe shpërndahet nën licencën AGPLv3.

Sistemi është në gjendje të nisë automatikisht skriptet e ndërtimit dhe testimit të bazave të kodit kur ndodhin ngjarje të caktuara, si për shembull, kur një kërkesë push arrin në Git, krijimi i versioneve, hapja/mbyllja e issues dhe hapja/mbyllja e kërkesave për bashkëngjitje. Një veçori dalluese e Cicada është ofrimi i një logjike për funksionin e programimit të orientuar nga subjekti, e cila mbështet variablat, shprehjet, ciklet, blloqet kushtore dhe funksionet e integruara. on git.push fn test(compiler): env.CC = compiler echo Testing (compiler) shell make clean all let compilers = ["gcc", "clang"] for compiler in compilers: test(compiler)

Gjuha e ofruar lejon të krijoni lehtësisht trajtues, të cilat është problematik të përshkruhen në skedarët e konfigurimit në formatin YAML, dhe jep mundësinë të mos ndërhyhet në skriptet e jashtme në Shell ose Python. Megjithatë, qasja e realizuar zgjidh gjithashtu problemin e moskompatibilitetit të formateve YAML të konfigurimit që përdoren në platforma të ndryshme të automatizimit të ndërtimit. Në Cicada ofrohen tipa ngjarjesh universale, të pavarura nga platformat, që lejojnë lidhjen e të njëjtit skript automatizimi me platforma të ndryshme, për shembull, trajtuesi i kërkesave për bashkëngjitje mund të jetë i lidhur me ngjarje që vijnë nga GitHub dhe Gitlab.

Kusht i veçantë është vënë gjithashtu në ruajtjen e sigurt të tokenëve dhe fjalëkalimeve që përdoren për qasje në API, depozita dhe mjediset për vendosjen e ndërtimeve përfundimtare. Këto informacion të ndjeshëm ruhen në një formë të enkriptuar (AES-GCM me çelës 256-bit) duke përdorur mjetet e HashiCorp Vault. Për çdo depo dhe pikë instalimi krijohet një çelës veçanërisht i enkripcioni, çelësat rinovohen automatikisht çdo 30 ditë dhe depoja e çelësave ekzekutohet në një server të ndarë. server.

Të dhënat sekrete nuk transmetohen automatikisht përmes variablave të ambientit, dhe në repo jepet vetëm akses leximi. Ekziston një mbrojtje e integruar kundër zëvendësimit të komandave në shprehje, e cila siguron ekranuar automatikisht konstruktime të rrezikshme, për shembull, shprehja 'let name = «; rm -rf /»; echo Hello, (name)' nuk do të çojë në ekzekutimin e komandës 'rm'. Nga optimizimet përmendet sistemi i integruar i keqkthimit të rezultateve të përkthimit dhe ngarkimit të burimeve.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster