开源项目福利-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的知识.但愿你们多交流,也但愿专家大佬们批评指正,多提意见.

相关文章
相关标签/搜索