偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

GitHub免費(fèi)支持CI/CD了,測(cè)試部署高度自動(dòng)化

新聞 前端 自動(dòng)化
GitHub激動(dòng)地宣布,終于支持CI/CD了。全面兼容各種操作系統(tǒng),各種語(yǔ)言,以及各種云。

本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。

GitHub激動(dòng)地宣布,終于支持CI/CD了。

CI\CD,全稱(chēng):持續(xù)集成 (Continuous Integration) ,持續(xù)部署 (Continuous Deployment) ,是開(kāi)發(fā)流程的自動(dòng)化利器,如今可以在公有項(xiàng)目上免費(fèi)使用了。

全面兼容各種操作系統(tǒng),各種語(yǔ)言,以及各種云。

[[273455]]

這次重大更新,發(fā)生在代碼運(yùn)行平臺(tái)GitHub Actions身上。

Actions的角色,是把工作流自動(dòng)化 (變成代碼) ,讓大家在GitHub服務(wù)器上直接測(cè)試代碼、部署代碼。

而內(nèi)置了CI/CD之后,這個(gè)一條龍的開(kāi)發(fā)者服務(wù)又進(jìn)化了。

現(xiàn)在,已經(jīng)有Beta版可以注冊(cè)試用,正式版也會(huì)在11月到來(lái)。

GitHub免費(fèi)支持CI/CD了,測(cè)試部署高度自動(dòng)化,網(wǎng)友:第三方?jīng)鰶? /></div>
<p>消息一出,程序員的世界熱火朝天。推特贊數(shù)1400+,Hacker News熱度也超過(guò)了500。</p>
<p>一面,是懷著喜悅迎接一個(gè)更強(qiáng)大的GitHub;</p>
<p>一面,微軟這一統(tǒng)天下的姿勢(shì),也讓人感覺(jué)到,像CircleCI這樣的持續(xù)集成工具,可能要涼。就像之前發(fā)布的包管理工具,令NPM瑟瑟發(fā)抖那樣。</p>
<p>所以,支持了CI/CD的Actions,到底有多強(qiáng)?</p>
<h2><strong>海納百川,高度自動(dòng)</strong></h2>
<p>按官方博客的說(shuō)法,新的GitHub Actions能把搭建、測(cè)試、部署項(xiàng)目的整個(gè)流程,更加方便地自動(dòng)化。</p>
<p>不管你用的是Linux、MacOS還是Windows。</p>
<p>也不管工作流是直接在容器上運(yùn)行,還是在虛擬機(jī)上運(yùn)行。</p>
<p>廣泛支持各種<strong>語(yǔ)言</strong>和<strong>框架</strong>:</p>
<blockquote>
<p>Node.js,Python,Java,PHP,Ruby,C/C++,.NET,Android以及iOS。</p>
</blockquote>
<p>如果,你想測(cè)試多容器的復(fù)雜應(yīng)用,現(xiàn)在可以把你的網(wǎng)絡(luò)服務(wù)和數(shù)據(jù)庫(kù)一起測(cè)試。只要在工作流文件里,加上一些docker-compose就行了。</p>
<p>然后,詳細(xì)觀(guān)察一下功能:</p>
<p><strong>矩陣構(gòu)建</strong> (Matrix Builds)</p>
<p>有了它,你可以把一個(gè)項(xiàng)目的許多版本<strong>并行測(cè)試</strong>。</p>
<p>只要在A(yíng)ctions YAML文件里,加上這幾行代碼:</p>
<pre><ol class=
  •  jobs: 
  •  test: 
  •  name: Test on node ${{ matrix.node_version }} and ${{ matrix.os }} 
  •  runs-on: ${{ matrix.os }} 
  •  strategy: 
  •  matrix: 
  •  node_version: [81012
  •  os: [ubuntu-latest, windows-latest, macos-latest] 
  •  
  • steps: 
  • - uses: actions/checkout@v1 
  •  
  • - name: Use Node.js ${{ matrix.node_version }} 
  • uses: actions/setup-node@v1 
  • with: 
  • version: ${{ matrix.node_version }} 
  •  
  •  - name: npm install, build and test 
  • run: | 
  • npm install 
  • npm run build --if-present 
  • npm test 
  • 剩下的工作,交給GitHub就可以了。

    實(shí)時(shí)日志 (Live Logs)

    實(shí)時(shí)日志,可以在你的builds運(yùn)行過(guò)程中,為它們的進(jìn)程 (Progress) 提供豐富的反饋。

    系統(tǒng)會(huì)把你的日志傳輸?shù)紸ctions控制臺(tái),實(shí)時(shí)顯示狀態(tài)。

    GitHub免費(fèi)支持CI/CD了,測(cè)試部署高度自動(dòng)化,網(wǎng)友:第三方?jīng)鰶? /></div>
<p>這個(gè)日志功能是為了易讀性而定制的,里面還有Emoji。</p>
<p>另外,你也可以用一個(gè)簡(jiǎn)單的永久鏈接 (Permalink) ,來(lái)深度鏈接 (Deep Link) 到任何日志文件的任意一行。</p>
<p>這樣,就很容易和小伙伴討論一個(gè)故障,或者測(cè)試結(jié)果了。</p>
<p><strong>像寫(xiě)代碼那樣</strong></p>
<p>action就是代碼。所以可以編輯,可以重復(fù)使用,可以分享,可以fork。</p>
<p>當(dāng)你fork了一個(gè)項(xiàng)目,就同時(shí)fork了它的action,和它的源碼。</p>
<p>這是個(gè)無(wú)縫連接的方法,你可以用跟原始項(xiàng)目同樣的action來(lái)搭建、測(cè)試自己的項(xiàng)目。</p>
<div   id=[[273456]]

    團(tuán)隊(duì)說(shuō),要向社區(qū)學(xué)習(xí),這是一個(gè)很好的辦法。你有了喜歡的項(xiàng)目,重現(xiàn)它的每一步,然后fork過(guò)來(lái)適應(yīng)自己的需要。

    這里用了一種整潔的新語(yǔ)法 (Syntax) 來(lái)表達(dá)工作流,基于YAML。

    你可以重復(fù)使用每個(gè)action和工作流,引用起來(lái)很容易,就像簡(jiǎn)單的repo reference。

    這樣,就可以輕松把它們拼接起來(lái),變成強(qiáng)大的工作流。

    可以用JavaScript寫(xiě)出來(lái),或者創(chuàng)建一個(gè)容器action,兩種方法都能通過(guò)GitHub API來(lái)交互,其他公開(kāi)API也可以。

    還有一個(gè)豐富的生態(tài),可以重復(fù)利用,它來(lái)自GitHub的各路合作伙伴:比如LaunchDarkly、mabl、Code Climate、GitKraden。

    甚至,你還可以觸發(fā)一個(gè)CircleCI上的build。

    不止一種工作流

    除了構(gòu)建、測(cè)試、部署應(yīng)用,你也可以用GitHub Actions來(lái)自動(dòng)化其他任務(wù):

    比如,Issue的分類(lèi)和管理,自動(dòng)發(fā)布新版本,和你的用戶(hù)群協(xié)作等等。

    GitHub免費(fèi)支持CI/CD了,測(cè)試部署高度自動(dòng)化,網(wǎng)友:第三方?jīng)鰶? /></div>
<p>在GitHub整個(gè)開(kāi)發(fā)者周期里、任何一個(gè)事件上面,工作流都能被觸發(fā)。</p>
<p>并且,任何GitHub App都可以添加自定義事件。這樣,開(kāi)發(fā)者和它們的伙伴,就能定制GitHub來(lái)滿(mǎn)足項(xiàng)目的需求了。</p>
<p><strong>從集成包和容器注冊(cè)表上構(gòu)建</strong></p>
<p>包的發(fā)布和容器的發(fā)布,是CI/CD工作流上的關(guān)鍵部分。</p>
<p>比如開(kāi)源一個(gè)庫(kù),比如部署一個(gè)大型網(wǎng)絡(luò)服務(wù)。</p>
<p>GitHub Actions讓各種包的發(fā)布和使用,變得更容易了。</p>
<p>不管是GitHub Package Registry里面的包,還是其他注冊(cè)表里的包。</p>
<p>開(kāi)發(fā)者能訪(fǎng)問(wèn)Actions了,也就能訪(fǎng)問(wèn)GitHub Package Registry,來(lái)自動(dòng)化整個(gè)工作流,從構(gòu)建到部署。</p>
<p><strong>簡(jiǎn)單上手</strong></p>
<p>GitHub想讓你快點(diǎn)用上CI/CD功能。</p>
<p>于是,一旦你給項(xiàng)目啟用了Actions,GitHub就會(huì)根據(jù)你的項(xiàng)目,匹配一些合適的工作流推薦出來(lái)。</p>
<p>所有公開(kāi)項(xiàng)目都可以免費(fèi)使用。</p>
<p>而私有項(xiàng)目要用CI/CD,就有價(jià)格表了:</p>
<div   id=GitHub免費(fèi)支持CI/CD了,測(cè)試部署高度自動(dòng)化,網(wǎng)友:第三方?jīng)鰶? /></div>
<p>不過(guò),現(xiàn)在是beta期間,一切都是免費(fèi)的,快來(lái)注冊(cè):</p>
<p>https://github.com/features/actions</p>
<p>至于企業(yè)版,團(tuán)隊(duì)計(jì)劃明年推出。</p>
<h2><strong>CI/CD是到底是什么</strong></h2>
<p>看到這里,可能還有一些朋友沒(méi)有明白:</p>
<p><strong>CI/CD到底是個(gè)啥?</strong></p>
<p>CI:Continuous Integration,持續(xù)集成,指的是一個(gè)團(tuán)隊(duì)的所有開(kāi)發(fā)人員每天多次把自己手里的代碼合并到主干中去,用一致的自動(dòng)化方法來(lái)構(gòu)建、打包和測(cè)試程序,可以頻繁修改代碼,提升軟件質(zhì)量,便于團(tuán)隊(duì)協(xié)作。</p>
<p>CI可以實(shí)現(xiàn)自動(dòng)化測(cè)試,更早拿到測(cè)試結(jié)果,防止有問(wèn)題的代碼被交付出去,也更容易編譯,降低了測(cè)試成本和和時(shí)間。</p>
<p>CD則有兩個(gè)概念,一個(gè)是Continuous Delivery,持續(xù)交付,在CI中構(gòu)建自動(dòng)化的測(cè)試流程后,持續(xù)將代碼發(fā)布的存儲(chǔ)庫(kù),不一定部署到生產(chǎn)環(huán)境中。</p>
<p>持續(xù)交付對(duì)于細(xì)微的變更十分有用,可以加速迭代過(guò)程。</p>
<p>另一個(gè)是Continuous Deployment,持續(xù)部署,通過(guò)自動(dòng)化的構(gòu)建、測(cè)試和部署循環(huán)來(lái)快速交付高質(zhì)量的產(chǎn)品,直接部署到生產(chǎn)環(huán)境中,用戶(hù)可以感受到產(chǎn)品的變化,不需要做專(zhuān)門(mén)的發(fā)布更新,而是修改之后幾分鐘就上線(xiàn)了。</p>
<p>持續(xù)部署可以使發(fā)布頻率更高,每次提交自動(dòng)觸發(fā)發(fā)布流,降低了小批量發(fā)布的風(fēng)險(xiǎn),用戶(hù)體驗(yàn)也能持續(xù)提升,不用每次都等更新。</p>
<h2><strong>議論紛紛</strong></h2>
<p>原本要靠第三方才能實(shí)現(xiàn)的功能,現(xiàn)在GitHub自己就干了,這當(dāng)然引來(lái)了許多程序員的熱烈歡迎,沒(méi)多久,GitHub推特的評(píng)論區(qū)里歡呼聲此起彼伏:Awesome! Cool! Amazing!</p>
<div   id=GitHub免費(fèi)支持CI/CD了,測(cè)試部署高度自動(dòng)化,網(wǎng)友:第三方?jīng)鰶? /></div>
<div   id=[[273457]]
    [[273458]]

    之前那些CI工具,可能日子就不好過(guò)了。

    一大批CI工具面臨涼涼

    不過(guò),既然GitHub自己出了CI/CD功能,那么以前那些第三方CI工具,大家還會(huì)用么?

    不少人已經(jīng)開(kāi)始揮手拜別了:

    GitHub免費(fèi)支持CI/CD了,測(cè)試部署高度自動(dòng)化,網(wǎng)友:第三方?jīng)鰶? /></div>
<div   id=GitHub免費(fèi)支持CI/CD了,測(cè)試部署高度自動(dòng)化,網(wǎng)友:第三方?jīng)鰶? /></div>
<p>也有人看到多系統(tǒng)支持這一點(diǎn)就非常high:</p>
<div   id=GitHub免費(fèi)支持CI/CD了,測(cè)試部署高度自動(dòng)化,網(wǎng)友:第三方?jīng)鰶? /></div>
<blockquote>
<p>哇哦,支持MacOS?這一點(diǎn)就足夠我從CircleCI遷移過(guò)去了,40美元一個(gè)月的CircleCI,對(duì)于一些React Native應(yīng)用CI/CD是足夠了,但CD只能一個(gè)星期一次。</p>
</blockquote>
<p>TravisCI、CircleCI這些工具,可能要面臨用戶(hù)流失糟糕狀況了。比如Hacker News上的這位CircleCI用戶(hù):</p>
<div   id=GitHub免費(fèi)支持CI/CD了,測(cè)試部署高度自動(dòng)化,網(wǎng)友:第三方?jīng)鰶? /></div>
<blockquote>
<p>對(duì)我來(lái)說(shuō)這很有趣,讓我想到壟斷的自然崛起和技術(shù)中的多元文化。GitHub最近仿佛要“吃掉整個(gè)世界”,比如之前的軟件包管理,給了Artifactory也Nexus不小的撼動(dòng)?,F(xiàn)在搞這個(gè),可能對(duì)CircleCI是個(gè)壞消息(我是CircleCI的用戶(hù))。</p>
<p>作為一名開(kāi)發(fā)者,短期來(lái)看我確實(shí)喜歡這個(gè),不用再東拼西湊那么多東西,頭疼如何把它們整合在一起,如果GitHub不行了,CircleCI也不能用了,我們只要把氣全撒在GitHub頭上就好咯。</p>
<p>但是長(zhǎng)遠(yuǎn)來(lái)看,這樣競(jìng)爭(zhēng)環(huán)境就出問(wèn)題了,作為一個(gè)創(chuàng)業(yè)公司員工,要是有大平臺(tái)的大廠(chǎng)跑來(lái)跟你競(jìng)爭(zhēng)這是很難搞的事,即使你產(chǎn)品更好,也敵不過(guò)大平臺(tái)的力量,畢竟他們集成了更多價(jià)值。</p>
</blockquote>
<p><strong>微軟的野心:把GitHub用戶(hù)導(dǎo)流到Azure?</strong></p>
<p>也有人懷疑,此舉是微軟在給Azure鋪路,借GitHub的用戶(hù)量導(dǎo)流,目標(biāo)還是瞄準(zhǔn)了云計(jì)算市場(chǎng)。</p>
<div   id=GitHub免費(fèi)支持CI/CD了,測(cè)試部署高度自動(dòng)化,網(wǎng)友:第三方?jīng)鰶? /></div>
<blockquote>
<p>作為一個(gè).NET開(kāi)發(fā)者,這就像吸引更多人去用Azure DevOps,進(jìn)而讓他們成為Azure云的用戶(hù),這是最后一步,終究是為了擴(kuò)大云計(jì)算的市場(chǎng)。</p>
</blockquote>
<div   id=GitHub免費(fèi)支持CI/CD了,測(cè)試部署高度自動(dòng)化,網(wǎng)友:第三方?jīng)鰶? /></div>
<blockquote>
<p>我覺(jué)得對(duì)微軟來(lái)說(shuō)一個(gè)好的策略是讓GitHub的CI/CD代碼和Azure DevOps盡可能重復(fù),Azure DevOps不需要這么靈活,只要保持魯棒性就好了,GitHub可以當(dāng)一個(gè)試驗(yàn)場(chǎng)。</p>
</blockquote>
<div   id=GitHub免費(fèi)支持CI/CD了,測(cè)試部署高度自動(dòng)化,網(wǎng)友:第三方?jīng)鰶? /></div>
<blockquote>
<p>所有的路都導(dǎo)向Azure,GitHub的用戶(hù)基礎(chǔ)比Azure大得多,微軟想給自家IaaS獲取更多用戶(hù)。</p>
<p>估計(jì)在GitHub Actions里搞CI/CD的下一步就是讓GitHub能自己跑產(chǎn)品代碼,這樣買(mǎi)Azure云服務(wù)就省去了很多步驟。在一個(gè)地方運(yùn)行代碼,停掉再用一個(gè)單獨(dú)的工具組件是很隨意的事,在一個(gè)地方有整個(gè)套件在這個(gè)市場(chǎng)是很明顯的事。</p>
</blockquote>
<p>所以,你怎么看呢?</p>


<p> </p></div> <div   id=責(zé)任編輯:張燕妮 來(lái)源: 量子位
    相關(guān)推薦

    2020-07-28 09:08:02

    自動(dòng)化測(cè)試軟件測(cè)試軟件開(kāi)發(fā)

    2022-07-06 10:43:08

    CI/CD自動(dòng)化

    2022-04-20 09:00:00

    軟件開(kāi)發(fā)自動(dòng)化測(cè)試工具

    2022-11-15 17:07:40

    開(kāi)發(fā)自動(dòng)化前端

    2024-01-24 18:50:21

    WebFTP服務(wù)器

    2023-02-20 08:02:38

    智能自動(dòng)化交付

    2017-10-09 17:52:57

    MySQL自動(dòng)化測(cè)試GitHub

    2024-12-31 09:46:45

    2022-09-05 15:12:34

    數(shù)據(jù)庫(kù)GitHub開(kāi)發(fā)

    2020-10-21 14:10:28

    工具測(cè)試開(kāi)發(fā)

    2012-02-27 17:34:12

    Facebook自動(dòng)化

    2021-09-03 09:56:18

    鴻蒙HarmonyOS應(yīng)用

    2022-02-17 10:37:16

    自動(dòng)化開(kāi)發(fā)團(tuán)隊(duì)預(yù)測(cè)

    2013-05-16 10:58:44

    Android開(kāi)發(fā)自動(dòng)化測(cè)試

    2014-04-16 14:15:01

    QCon2014

    2020-06-05 07:20:41

    測(cè)試自動(dòng)化環(huán)境

    2011-12-23 17:09:57

    自動(dòng)化測(cè)試

    2012-12-24 22:54:31

    2021-06-30 19:48:21

    前端自動(dòng)化測(cè)試Vue 應(yīng)用

    2021-01-18 09:35:17

    Travis-CGithub ActiLinux
    點(diǎn)贊
    收藏

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