Das Projekt Cicada entwickelt ein Automatisierungssystem fĂŒr Builds, das Ă€hnlich wie GitHub Actions funktioniert.

Das offene Automatisierungssystem Cфicada ermöglicht es, eine Infrastruktur auf einem eigenen Server bereitzustellen, die Ă€hnlich wie GitHub Actions, Azure DevOps und Gitlab CI ist, ohne von Cloud-Diensten abhĂ€ngig zu sein. Der Projektcode ist in Python geschrieben und unter der AGPLv3-Lizenz verfĂŒgbar.

Das System ist in der Lage, Build- und Test-Skripte automatisch auszulösen, wenn bestimmte Ereignisse eintreten, wie z. B. das Eintreffen eines Push-Requests in Git, die Erstellung von Releases, das Öffnen/Schließen von Issues und das Öffnen/Schließen von Pull-Requests. Ein besonderes Merkmal von Cфicada ist die Bereitstellung einer logikbasierten Definition einer domĂ€nenspezifischen funktionalen Programmiersprache, die Variablen, AusdrĂŒcke, Schleifen, bedingte Blöcke und integrierte Funktionen unterstĂŒtzt. 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)

Die angebotene Sprache ermöglicht es, einfach Handler zu erstellen, die in YAML-basierten Konfigurationsdateien schwer zu beschreiben sind, und ermöglicht es, auf externe Shell- oder Python-Skripte zu verzichten. Dabei löst der implementierte Ansatz auch das Problem der InkompatibilitĂ€t von YAML-Konfigurationsformaten, die auf verschiedenen Automatisierungsplattformen verwendet werden. In Cфicada werden plattformunabhĂ€ngige universelle Ereignistypen angeboten, die es ermöglichen, dass dasselbe Automatisierungsskript an verschiedene Plattformen gebunden wird, z. B. kann ein Push-Handler an Ereignisse gebunden werden, die von GitHub und Gitlab kommen.

Besonderes Augenmerk wird auch auf die sichere Speicherung von Tokens und Passwörtern gelegt, die fĂŒr den Zugriff auf APIs, Repositories und Umgebungen zur Installation der resultierenden Builds verwendet werden. Solche sensiblen Informationen werden in verschlĂŒsslter Form (AES-GCM mit einem 256-Bit-SchlĂŒssel) mithilfe von HashiCorp Vault gespeichert. FĂŒr jedes Repository und jeden Installationspunkt wird ein separater VerschlĂŒsselungsschlĂŒssel erstellt, der alle 30 Tage automatisch aktualisiert wird. Der SchlĂŒsselbund wird separat gestartet. Server.

StandardmĂ€ĂŸig werden keine geheimen Daten ĂŒber Umgebungsvariablen ĂŒbertragen, und im Repository wird nur Lesezugriff gewĂ€hrt. Es gibt einen integrierten Schutz gegen die Injektion von Befehlen in AusdrĂŒcke, der automatisch gefĂ€hrliche Konstruktionen maskiert, zum Beispiel fĂŒhrt der Ausdruck 'let name = «; rm -rf /»; echo Hello, (name)' nicht zur AusfĂŒhrung des Befehls 'rm'. Zu den Optimierungen gehört ein integriertes System zur Zwischenspeicherung von Kompilergebnissen und dem Laden von Ressourcen.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster