开源项目福利-github开源项目免费使用Azure PipeLine

微软收购Github后,很多人猜想微软可能会砍掉VSTS,然而事实VSTS并没有砍掉,关于Azure Devops的详细信息可以查看 这篇博客,如果想查看原文也可以从链接里提供的原始地址里查看.

今天要介绍的是做Azure devops的ci部分:Azure Pipeline. VSTS升级到Azure Devops之后对开源开发者带来的重大利好消息就是Github开源项目可以免费,无限时和并行运行10个CI/CD作业.

下面将简要介绍Azure PipeLine以及如何把Azure PipeLine以Github结合,实现自动化构建.

Azure PipeLine简介

PipeLine字面含义是管道,流水线,正如其字面含义.Azure PipeLine可以把一个构建任务拆分成若干部分,然后串联起来构成一个流水线作业.根据具体构建业务不同,一个PipeLine可能只包含一两个步骤,也有可能十几个甚至几十个步骤.Azure PipeLine类似于Jenkins PipeLine,与传统自动构建相比优点在于结构非常清析,构建流水线中的某个环节出现问题很容易定位到(使用过传统Jenkins自由式任务的同学可能会体会到,对于一些复杂的构建任务一旦出现问题,排查起来非常头疼,面对着复杂的控制台输出让人痛不欲生).当然本节并不会介绍非常复杂的构建知识,而是一个入门教程,以供广大开源作者和爱好者快速搭建一个流水线构建.

Azure Pipeline 目前支持Node.js, Python, Java, PHP, Ruby, C/C++, .NET, Android, and iOS,非常令人欣喜的是Azure PipeLine并不需要你具有专业的Devops知识甚至即便你完全不了解Devops也能很方便,快速的搭建一个PipeLine作业.因此,不要犹豫,也不要担心,果断尝试一下.

Azure PipeLine与Github集成,快速搭建一个PipeLine作业.

读者阅读本文可以没有任何自动构建或者Devops开发经验,但是前提必须要有一个Github账户和一个Microsoft账户,这两种账户都可以免费注册,并且也不是很复杂.由于本要已经有账户了,因此后面的教程中都假定是已经登陆了github账户和Microsoft账户.

创建一个Github项目

对于如何在github创建一个项目,这里不再赘述,读者可以查看相关文章或者Github帮助来获得相关方面知识.我这里使用我的github仓库里一个名为 gitShow的.net项目(读者可以上传一个.net项目也可以是支持的其它项目(java,python,nodejs等)到github仓库,不用担心项目类型不一样,我们不需要动手写一行代码便可以利用Azure PipeLine强大的功能创建一个简单的自动构建流水线作业.我的项目结构如下:

在Azure Devops里创建一个Azure PipeLine项目

我们在浏览器输入dev.azure.com就会进入azure devops界面

如果你没有登陆,看到的界面可能和上面不一样,登陆以后,如果你没有创建任何组织,左边不会有任何组织列表信息,这时候界面会提示你创建一个组织,你也可以点击add organization来创建一个组织,组织相当于一个团队,一个组织里面可以包含若干个项目.

点击左侧的任意一个组织进入组织,我进入的是截图里面的最后一个,当然这无所谓,你可以进入任意一个组织.

这是一个空的组织,页面会提示我们创建一个项目

我们输入项目名称,这时候创建项目按钮激活,我们点击它便可以创建一个项目.

过一会一个空的项目就生成了,这时候页面又会提示你创建一个流水线作业

点击‘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的知识.希望大家多交流,也希望专家大佬们批评指正,多提意见.

原文地址:https://www.cnblogs.com/tylerzhou/p/9806814.html

时间: 2024-10-03 16:57:26

开源项目福利-github开源项目免费使用Azure PipeLine的相关文章

GitHub开源项目总结

GitHub开源项目总结,有需要的朋友可以参考下 GitHub开源项目android-styled-dialogs GitHub开源项目之changelog GitHub开源项目之AppRater GitHub开源项目之Android四次元(新浪微博客户端) GitHub开源项目之高仿"遇见" GitHub开源项目之Twitter客户端源码 GitHub开源项目之Jamendo音乐播放器 GitHub开源Android客户端 GitHub开源项目Android之Bootstrap Gi

手把手教你用git和SourceTree上传项目到github细解(转)

尊重原创:https://blog.csdn.net/qq_32365567/article/details/52859166 一.引言 我想大家现在都很熟悉github了,也能运用github上开源的项目到自己的项目中.但是我们也很想把自己的一些项目也放到github中开源供大家使用.这2天我就在研究这个东西,也查过很多资料都不是系统的,也走了很多的弯路毕竟一个初学者学习这几个软件,刚开始也不知道这两者有什么联系,纯粹靠自己瞎摸索,终于成功的上传到我的github里,好了闲话少说,干正事了,我

(图文)在MyEclipse(2015)中上传项目到github的步骤(很详细)

MyEclipse 2015 默认已经安装了git插件,在MyEclipse中上传项目到github的步骤如下: (原创文章,转载请注明转自Clement-Xu的博客:http://blog.csdn.net/clementad/article/details/46954587) 1.github官网(https://github.com)申请开通账号(略) 1.1.然后,在github网站登录后创建一个仓库(也就是项目)(假设仓库/项目名字为:HttpApp): 1.2.创建成功后,就自动跳转

在MyEclipse中上传项目到github的步骤(很详细)

一.myelipse安装git插件 1.Eclipse的git插件--EGit.下载网址EGit官网:http://www.eclipse.org/egit/download/ 找不到在哪下看这个(http://yunpan.cn/Q4NeYfj8eYApJ) 2.安装:下载的插件解压,删掉XML文件.在MyEclipse的dropins目录下新建一个egit文件夹,然后把刚才解压的features.plugins和另外两个jar包放进去.重启MyEclipse即可 二.github官网(htt

手把手教你最简单的开源项目托管GitHub入门教程

自从google code关闭了下载服务了之后,GitHub作为了目前最好用的免费开源项目托管站点,众多开源项目都托管在github,其中不乏著名的播放器MPC-HC. 不习惯于英文的朋友,难免少不了要进行摸索一番,甚至会因此头大而放弃. 这里将手把手地教大家一些本人的入门心得. 工具/原料 本地源项目 msysgit(Windows) 方法/步骤1 在GitHub新建托管项目 1 要托管到github,那你就应该要有一个属于你自己的github帐号,所以你应该先到github.com注册 打开

GitHub Android 最火开源项目Top20 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上。基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。

1. ActionBarSherlock(推荐) ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便地使用所有版本的Android动作栏的设计模式. 对于Android 4.0及更高版本,ActionBarSherlock可以自动使用本地ActionBar实现,而对于之前没有ActionBar功能的版本,基于Ice Cream Sandwich的自定义动作栏实现将自动围绕布局.能够让开发者轻松开发

[转]2017年最具价值的十大开源项目!GitHub 年度报告~

<GitHub 2017 年度报告>GitHub 每年都会在年度盛会中推出数据报告,其中列出了一些年度的数据,包括其网站中最受欢迎的编程语言.开源项目等.那么今年哪些开源项目最具价值呢?我们一起来看看被 Fork 最多的开源项目: 具体这些项目是啥呢,接下来我们详细介绍一下: 1tensorflow https://github.com/tensorflow/tensorflow Stars 68835 TensorFlow 是谷歌的第二代机器学习系统,按照谷歌所说,在某些基准测试中,Tens

使用 GitHub 开源项目申请 IntelliJ License

一.写在前面 这次要介绍的是通过使用 GitHub 上的开源项目来申请 IntelliJ Pycharm 的正版 License,只需在 GitHub 上准备一个维护超过3个月的开源项目,就能免费使用 Pycharm 一年了!这么好的方法,还不赶紧 get 一下? 二.为项目添加 License 在申请 License 之前,需要先给我们的 GitHub 开源项目添加 License,具体步骤如下: 1.新建文件 打开自己的 GitHub 个人主页,打开自己的开源项目,然后选择“Create n

【代码导读】Github 开源项目——wysihtml5 富编辑器(Bootstrap 风格)【二】

如果您意外进入该页面,或许从下述链接开始更容易理解: [代码导读]Github 开源项目——wysihtml5 富编辑器(Bootstrap 风格)[一] 1. 整体结构 在 wysihtml5 中,所有对象受 wysihtml5 命令空间保护,从其初始化定义看,整个代码架构一目了然: https://github.com/xing/wysihtml5/blob/master/src/wysihtml5.js 1 var wysihtml5 = { 2 version: "0.4.0pre&qu