成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

GitHub開源Super Linter,用自動化解決開發(fā)者需求

新聞 前端 自動化
在設(shè)置新的存儲庫時,為不同類型的代碼選擇合適的對應(yīng) linter 可能是既費(fèi)時又乏味的工作。可供選擇的工具和配置如此之多,我們通常需要不止一個 linter 才能涵蓋所有用到的語言。

 [[330754]]

在設(shè)置新的存儲庫時,為不同類型的代碼選擇合適的對應(yīng) linter 可能是既費(fèi)時又乏味的工作。可供選擇的工具和配置如此之多,我們通常需要不止一個 linter 才能涵蓋所有用到的語言。

GitHub Super Linter 是由 GitHub Services DevOps 工程團(tuán)隊根據(jù)需要構(gòu)建的,目的是保持我們文檔和代碼的一致性,同時提升整個公司之間的交流和協(xié)作的效率。現(xiàn)在我們正式將其開源,這樣所有人都可以使用和改進(jìn)它了!

https://github.com/github/super-linter

Super Linter 通過自動化解決了許多需求。其特性包括:

  • 防止將損壞的代碼上傳到主分支;
  • 幫助建立多種語言的編碼最佳實踐;
  • 制訂代碼布局和格式的指南;
  • 自動化流程以幫助簡化代碼審查;

有了這些基礎(chǔ)標(biāo)準(zhǔn)后,我們就能在內(nèi)部 / 向客戶和合作伙伴交付更好、更整潔、更穩(wěn)定的代碼。

1. 它是什么?

Super Linter 是一個源代碼存儲庫,它打包到一個 Docker 容器中,并由 GitHub Actions 調(diào)用。這樣 GitHub.com 上的任何存儲庫都可以調(diào)用 Super Linter 并從中獲益。

目前 Super Linter 支持多種語言,將來還會提供更多語言支持。有關(guān)支持語言的詳細(xì)信息,請查看 README.md。

https://github.com/github/super-linter/blob/master/README.md

2. 工作機(jī)制

將存儲庫設(shè)置為開始運(yùn)行這個動作(Action)后,只要你打開一個拉取請求,存儲庫就會開始 linting 代碼并通過 Status API 返回。它會通知你所有代碼更改是否成功通過,或者是否檢測到任何錯誤,錯誤在哪里以及它們的具體信息。然后,開發(fā)人員可以返回其分支,解決所有問題,并為這個開放的 PR 創(chuàng)建一個新的 push。屆時,Super Linter 將再次運(yùn)行和驗證更新代碼,并重復(fù)該過程。你可以配置分支保護(hù)規(guī)則,加入"所有代碼在合并前必須通過"的額外規(guī)定。

Super Linter 擁有大量帶有標(biāo)志和模板的自定義選項,你可以針對自己的存儲庫調(diào)整它們。只需按照 Super Linter 存儲庫和 Super Linter Wiki 上的詳細(xì)說明操作即可。

https://github.com/github/super-linter/wiki

這款工具對于將多種類型的代碼和 / 或文檔放在一起的存儲庫(單體存儲庫)來說也很有用。

3. 默認(rèn)規(guī)則

在 Super Linter 中標(biāo)準(zhǔn)化一個規(guī)則集是一項有趣的挑戰(zhàn),因為每位開發(fā)人員的編碼方式都是獨(dú)一無二的。所以我們允許用戶根據(jù)他們自己的存儲庫情況對 Linter 使用任何規(guī)則。但如果用戶未定義規(guī)則集,則我們必須有一個默認(rèn)標(biāo)準(zhǔn)。

Ruby 和 Rails 的規(guī)則集來自 Ruby gem:rubocop-github,并遵循我們在 GitHub.com 上使用的同一套規(guī)則和版本控制策略。

https://github.com/github/rubocop-github

對于其他語言,我們指定了安裝 linter 時的默認(rèn)項,例如:coffeelint 或 yamllint。至于剩下的那些,我們嘗試找到一個合適的平衡點——基礎(chǔ)簡單且能幫助建立一些最佳實踐,例如:Markdownlint 或 pylint。

https://github.com/clutchski/coffeelint

https://github.com/adrienverge/yamllint

這樣做的好處是,你可以直接開始建立框架,并且當(dāng)需要新的自定義選項時你的團(tuán)隊可以隨時做出相應(yīng)的決策與改動。

只需轉(zhuǎn)到 Super Linter,然后將模板從 TEMPLATES 文件夾復(fù)制到本地存儲庫即可。

 

責(zé)任編輯:張燕妮 來源: 架構(gòu)頭條
相關(guān)推薦

2020-07-21 10:40:05

GitHub代碼開發(fā)者

2024-02-27 09:00:00

2015-02-03 02:50:37

2009-03-20 11:50:44

LinuxSunCommunityOn

2021-08-13 18:21:28

自動化iOSUA

2015-02-04 12:09:57

2024-12-02 14:07:57

2017-12-27 13:14:56

SCRM致趣百川

2010-07-08 15:48:34

開源

2011-01-11 11:35:17

jQueryAndroidgoogle

2012-01-16 11:05:22

紅帽PaaS 開源

2010-06-09 10:48:51

Linux用戶

2011-12-14 13:14:05

2022-01-10 07:26:34

GitHub IT資訊業(yè)界

2021-05-11 06:02:25

開源GitHub 國產(chǎn)開源軟件

2018-12-13 12:24:53

GitHub 語言開發(fā)者

2011-05-06 11:55:41

紅帽PaaS

2025-03-14 08:21:09

Puppeteer.NET開發(fā)者
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产成人99| 亚洲精品久久久久久首妖 | 久久久久国产精品 | 精品久久久久久久久久久久久 | 成人毛片在线观看 | 国产成人艳妇aa视频在线 | 亚洲国产精品一区二区三区 | 国产精品99久久久久久宅男 | 中文字幕亚洲国产 | 青青久草| 国产综合精品一区二区三区 | 麻豆久久久久久 | 精品欧美一区二区三区 | 久久精品国产久精国产 | 国产成人精品免费视频大全最热 | 四虎首页 | 日韩欧美精品在线 | 美女在线观看国产 | 日韩一区二区在线看 | 国产中文在线观看 | 日韩免费一区 | 久久久久久综合 | 亚洲 中文 欧美 日韩 在线观看 | 羞羞的视频免费在线观看 | 国产精品免费一区二区三区 | 亚洲性视频网站 | 欧美日韩国产精品一区二区 | 国产91黄色 | 国产在线中文字幕 | 久久久久99| 国产在线中文字幕 | 成人国产免费视频 | 午夜影院在线 | av中文字幕在线观看 | 亚洲女人天堂成人av在线 | 国产精品2 | 久久久久国产 | 成人激情视频在线播放 | 91视频在线看 | 91麻豆精品国产91久久久久久 | 一区二区视频在线 |