你有沒有被YAML配置文件折磨過?縮進、錨點、復雜的嵌套結(jié)構(gòu)……為什么CI流水線非得寫在YAML里,而不能直接用Python?
最近,一個名為DSCI的項目給出了答案。它是一款Forgejo CI的運行器,最大特點是允許用常規(guī)編程語言(如Python、Raku)來編寫流水線任務,而不是YAML。只需在你的代碼倉庫根目錄創(chuàng)建.dsci/文件夾,放入一個簡單的作業(yè)定義文件和一個用你熟悉語言編寫的腳本,CI就能跑起來。
![]()
項目作者melezhik是一名程序員,他在設計DSCI時,出發(fā)點很明確:給開發(fā)者最大的自由度。在DSCI的描述中寫道:“所有通用編程語言能做的事,這里都可以做——在任務之間傳遞狀態(tài)就像使用普通變量一樣,從任務返回狀態(tài)也一樣。簡單、有趣、靈活。不用再和糾纏不清的YAML代碼較勁,直接使用普通編程語言。”
DSCI目前已與Forgejo CI通過Webhook機制完全集成。理論上,任何基于Webhook的CI系統(tǒng)(包括GitHub Actions、GitLab CI等)都能接入,但目前的深度整合還集中在Forgejo上。這意味著,如果你使用的是Forgejo,現(xiàn)在就可以嘗試用更“程序員”的方式配置CI。
對于厭倦了YAML模板化配置的開發(fā)者來說,DSCI提供了一個新的選擇:用自己最熟悉的語言控制構(gòu)建流程,無需學習額外的DSL,也無需在縮進和引號間掙扎。項目已在GitHub上開源,有興趣的開發(fā)者可以前往倉庫查看安裝指南并給一顆Star支持一下。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.