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