開源項目福利-github開源項目無償使用Azure PipeLine

微軟收購Github後,不少人猜測微軟可能會砍掉VSTS,然而事實VSTS並無砍掉,關於Azure Devops的詳細信息能夠查看 這篇博客,若是想查看原文也能夠從連接裏提供的原始地址裏查看.html

今天要介紹的是作Azure devops的ci部分:Azure Pipeline. VSTS升級到Azure Devops以後對開源開發者帶來的重大利好消息就是Github開源項目能夠免費,無限時和並行運行10個CI/CD做業.java

下面將簡要介紹Azure PipeLine以及如何把Azure PipeLine以Github結合,實現自動化構建.node

Azure PipeLine簡介

PipeLine字面含義是管道,流水線,正如其字面含義.Azure PipeLine能夠把一個構建任務拆分紅若干部分,而後串聯起來構成一個流水線做業.根據具體構建業務不一樣,一個PipeLine可能只包含一兩個步驟,也有可能十幾個甚至幾十個步驟.Azure PipeLine相似於Jenkins PipeLine,與傳統自動構建相比優勢在於結構很是清析,構建流水線中的某個環節出現問題很容易定位到(使用過傳統Jenkins自由式任務的同窗可能會體會到,對於一些複雜的構建任務一旦出現問題,排查起來很是頭疼,面對着複雜的控制檯輸出讓人痛不欲生).固然本節並不會介紹很是複雜的構建知識,而是一個入門教程,以供廣大開源做者和愛好者快速搭建一個流水線構建.python

Azure Pipeline 目前支持Node.js, Python, Java, PHP, Ruby, C/C++, .NET, Android, and iOS,很是使人欣喜的是Azure PipeLine並不須要你具備專業的Devops知識甚至即使你徹底不瞭解Devops也能很方便,快速的搭建一個PipeLine做業.所以,不要猶豫,也不要擔憂,果斷嘗試一下.git

Azure PipeLine與Github集成,快速搭建一個PipeLine做業.

讀者閱讀本文能夠沒有任何自動構建或者Devops開發經驗,可是前提必需要有一個Github帳戶和一個Microsoft帳戶,這兩種帳戶均可以避免費註冊,而且也不是很複雜.因爲本要已經有帳戶了,所以後面的教程中都假定是已經登錄了github帳戶和Microsoft帳戶.github

建立一個Github項目

對於如何在github建立一個項目,這裏再也不贅述,讀者能夠查看相關文章或者Github幫助來得到相關方面知識.我這裏使用個人github倉庫裏一個名爲 gitShow的.net項目(讀者能夠上傳一個.net項目也能夠是支持的其它項目(java,python,nodejs等)到github倉庫,不用擔憂項目類型不同,咱們不須要動手寫一行代碼即可以利用Azure PipeLine強大的功能建立一個簡單的自動構建流水線做業.個人項目結構以下:瀏覽器

在Azure Devops裏建立一個Azure PipeLine項目

咱們在瀏覽器輸入dev.azure.com就會進入azure devops界面markdown

若是你沒有登錄,看到的界面可能和上面不同,登錄之後,若是你沒有建立任何組織,左邊不會有任何組織列表信息,這時候界面會提示你建立一個組織,你也能夠點擊add organization來建立一個組織,組織至關於一個團隊,一個組織裏面能夠包含若干個項目.app

點擊左側的任意一個組織進入組織,我進入的是截圖裏面的最後一個,固然這無所謂,你能夠進入任意一個組織.佈局

這是一個空的組織,頁面會提示咱們建立一個項目

咱們輸入項目名稱,這時候建立項目按鈕激活,咱們點擊它即可以建立一個項目.

過一會一個空的項目就生成了,這時候頁面又會提示你建立一個流水線做業

點擊'New PipeLine'按鈕就會進入流水線做業建立頁面

此時頁面會提示你選擇倉庫來源,咱們選擇Github

第一個與Github鏈接會出現受權選擇,這裏不要點擊Authorize,而是點擊下面的Install our app from the GitHub Marketplace連接,進入到插件安裝頁面,這時候會讓你選擇一個組織,根據你的組織不一樣,這裏出現的內容也不相同,選擇一個本身有權限的組織便可

點擊組織名,進入到倉庫選擇頁面

能夠選擇全部倉庫或者是指定倉庫,我這裏選擇的是全部倉庫,而後點擊'Install'按鈕,過數秒後,會進入一個頁面讓你選擇Microsoft帳戶

點擊帳戶名便可

這時候,若是你選擇的是全部,則會把全部的github倉庫都羅列出來

我這裏選擇GitShow項目,此時Azure Devops平臺就會對項目進行智能分析,而後讓你選擇項目類型(也可能沒有這一步,直接進入PipeLine代碼界面),這裏Azure Devops自動爲咱們生成了PipeLine 腳本

而後咱們點擊左上角Run按鈕運行PipeLine腳本,這一步是等待時間最長的

從上圖中咱們能夠看到PipeLine的執行狀態,有對勾標識的爲已成功執行的步驟,帶有三角標識的爲當前正在執行的步驟,帶有鐘錶標識的爲待執行的步驟.等待全部的步驟標識都變成了對勾,整個PipeLine就執行完成了

若是項目最終構建成功,則會出現一個大的綠色對勾標識整個項目構建成功

咱們點擊其中某個步驟,就能夠看到當前步驟構建的詳細cli輸出信息,相似於Jenkins cli輸出

在github項目頁面顯示Azure PipeLine構建狀態徽標

若是項目每次構建咱們都跳到Azure devops界面去查看,顯然太麻煩了,不少時候咱們可能只關心構建狀態,只要構建成功咱們便再也不看詳細信息,若是失敗了再進入構建頁面查看構建詳細信息.實際上不少開源項目都會有一個構建狀態徽標顯示在項目頁面裏,便於直接查看項目的構建狀態.下面咱們就介紹如何本身的github項目添加一個Azure PipeLine構建狀態徽標

如上圖,咱們點擊左側導航欄裏的PipeLines按鈕,而後點擊Builds按鈕,出現以下界面

咱們點擊...符號,在彈出的下拉列表裏選擇Status Badge,出現以下界面

最面下是markdown樣例連接,咱們複製它.而後咱們再轉到github,打開本身的項目頁,而後點擊README.md文件進行編輯(若是讀者的項目裏沒有此文件能夠添加一個,注意名稱必須是README.md,添加很是簡單,若是沒有github會提示你添加一個,按照提示添加便可),咱們把複製的內容添加到README.md

而後點擊保存,返回到項目首頁,就能夠看到剛添加的構建狀態徽標啦

以上狀態是實時更新的,咱們修改一下源代碼,故意製造些錯誤,待Azure PipeLine構建完成後,顯示在Github頁面的狀態就會更新啦

這極大地提高了開源項目的協做效率,若是有用戶提交進來代碼,代碼審閱者能夠先看一下構建狀態是成功仍是失敗,若是失敗了能夠直接讓代碼提交者先把項目構建成功,而後再提交,減小沒必要要的重複的手動構建工做.

以上顯示狀態徽標只是個簡單的示例,讀者還能夠參考其它開源項目的佈局,把本身的佈局設計的更大方美觀

因爲Azure PipeLine剛剛推出,這裏僅僅是進行初步嘗試,實際工做中靠自動生成的腳本可能仍是遠遠不夠的,須要咱們根據本身的項目狀況來定製流水線構建方案.可是作爲一個開源項目自動構建方案已經夠用了.之後有時間會分享更多結合.net 平臺的Devops的知識.但願你們多交流,也但願專家大佬們批評指正,多提意見.

相關文章
相關標籤/搜索