Cicada 项目正在开发类似于 GitHub Actions 的构建自动化系统

可以使用用于自动化组装流程的开放系统 Cicada,它允许您在服务器上部署类似于 GitHub Actions、Azure DevOps 和 Gitlab CI 的基础架构,独立于云服务。 该项目代码是用 Python 编写的,并根据 AGPLv3 许可证分发。

当触发某些事件时,系统能够自动启动代码库的构建和测试脚本,例如在 Git 中收到推送请求、创建发布、打开/关闭问题以及打开/关闭问题。拉取请求。 Cicada 的一个显着特征是提供面向领域的函数式编程语言,支持变量、表达式、循环、条件块和内置函数来定义操作逻辑。 在 git.push fn test(compiler) 上: env.CC = 编译器 echo 测试(编译器) shell make clean all 让编译器 = [“gcc”, “clang”] 对于编译器中的编译器: test(compiler)

所提出的语言可以轻松创建在基于 YAML 格式的配置文件中描述有问题的处理程序,并且无需在 Shell 或 Python 中连接外部脚本即可完成。 同时,所实现的方法还解决了不同装配自动化平台使用的YAML配置格式不兼容的问题。 Cicada 提供独立于平台的通用事件类型,允许您将相同的自动化脚本绑定到不同的平台,例如,推送请求处理程序可以附加到来自 GitHub 和 Gitlab 的事件。

此外,我们还特别关注用于访问 API、代码库和最终构建版本安装环境的令牌和密码的安全存储。这些敏感信息使用 HashiCorp Vault 进行加密(采用 256 位密钥的 AES-GCM 算法)。每个代码库和安装点都会生成一个单独的加密密钥,密钥每 30 天自动更新一次,并且密钥库运行在独立的实例上。 服务器.

默认情况下,秘密数据不通过环境变量传输,并且仅授予存储库读取权限。 表达式中有针对命令替换的内置保护,提供危险结构的自动转义,例如表达式 'let name = "; rm -rf /”; echo Hello, (name)' 不会执行“rm”命令。 在这些优化中,值得注意的是用于缓存编译结果和加载资源的内置系统。

来源: opennet.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster