日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
GitHub開(kāi)源Super Linter,用自動(dòng)化解決開(kāi)發(fā)者需求

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

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

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

Super Linter 通過(guò)自動(dòng)化解決了許多需求。其特性包括:

  • 防止將損壞的代碼上傳到主分支;
  • 幫助建立多種語(yǔ)言的編碼最佳實(shí)踐;
  • 制訂代碼布局和格式的指南;
  • 自動(dòng)化流程以幫助簡(jiǎn)化代碼審查;

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

1. 它是什么?

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

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

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

2. 工作機(jī)制

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

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

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

這款工具對(duì)于將多種類(lèi)型的代碼和 / 或文檔放在一起的存儲(chǔ)庫(kù)(單體存儲(chǔ)庫(kù))來(lái)說(shuō)也很有用。

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

在 Super Linter 中標(biāo)準(zhǔn)化一個(gè)規(guī)則集是一項(xiàng)有趣的挑戰(zhàn),因?yàn)槊课婚_(kāi)發(fā)人員的編碼方式都是獨(dú)一無(wú)二的。所以我們?cè)试S用戶(hù)根據(jù)他們自己的存儲(chǔ)庫(kù)情況對(duì) Linter 使用任何規(guī)則。但如果用戶(hù)未定義規(guī)則集,則我們必須有一個(gè)默認(rèn)標(biāo)準(zhǔn)。

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

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

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

https://github.com/clutchski/coffeelint

https://github.com/adrienverge/yamllint

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

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


網(wǎng)站題目:GitHub開(kāi)源Super Linter,用自動(dòng)化解決開(kāi)發(fā)者需求
文章URL:http://www.dlmjj.cn/article/dpcdhpe.html