微软收购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

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

github开源项目免费使用Azure PipeLine相关推荐

  1. github使用指南_所有开源项目免费使用,GitHub 内置 CI/CD 终于来了

    2019 年 8 月 8 日,GitHub 官方博客发文称,程序员期待已久的功能来了,Github Actions 终于支持内置 CI/CD 了,并对所有开源项目免费!目前该功能可以在 Beta 版本 ...

  2. GitHub 迎来内置 CI/CD,对所有开源项目免费!

    作者 | 韩骏 责编 | 郭芮 今天(北京时间 2019 年 8 月 9 日),GitHub 官方宣布了 GitHub Actions 将支持 CI/CD,并且对所有开源项目免费!GitHub 将迎来 ...

  3. 所有开源项目免费使用,GitHub 内置 CI/CD 终于来了!

    作者丨田晓旭 来源丨InfoQ 2019 年 8 月 8 日,GitHub 官方博客发文称,程序员期待已久的功能来了,Github Actions 终于支持内置 CI/CD 了,并对所有开源项目免费! ...

  4. 推荐标星 100 K 的 GitHub 开源项目

    推荐标星 100 K 的 GitHub 开源项目 原文见:推荐 10 个标星 100 K 的 GitHub 开源项目 以下摘录部分: Build Your Own X (GitHub Star:102 ...

  5. Android最新最全100余款开源App(对应Github开源项目)

    最近整理了一些开源的APP,以及对应的一些Github开源项目,现在做一些记录,以便以后查阅. 介绍与链接 BeautifulRefreshLayout-漂亮的美食下拉刷新 https://githu ...

  6. github 开源项目如何推广

    github 开源项目如何推广 思维导图总览 链接:https://whimsical.com/github-9b1U5bpHVAptiYTZVY557h 一.通过写作平台去推广 写一些文章关于该项目 ...

  7. JetBrains idea 产品通过github开源项目申请激活码,全家桶都可用

    之前一直用的edu教育邮箱申请的JetBrains使用权,最近不太忙想试试用开源的方式申请一下看看.下面开始: 打开申请链接 https://www.jetbrains.com/shop/eform/ ...

  8. 如何规划创建并长期维护一个Github开源项目?

    title: 如何规划创建并长期维护一个Github开源项目? tags: 开源 程序 Github zhaoolee categories: 极客 2021年, 国内各路论坛已经铺满屠龙宝刀点击就送 ...

  9. [Android开源项目] GitHub开源项目总结 (转)

    [Android开源项目] GitHub开源项目总结 GitHub开源项目android-styled-dialogs http://neast.cn/forum.php?mod=viewthread ...

最新文章

  1. 小米4手机在DDMS下获取data/data目录权限
  2. ASP.NET TricksTip:关于Tooltip(title)的换行问题
  3. MyEclipse连接MySQL时遇到的各种烦人事
  4. python数组初始化_Python Numpy 数组的初始化和基本操作
  5. 双机热备的缺点_弱电工程中的双机热备是什么?带你了解服务器双机热备
  6. gradle入门(1-7)eclipse和gradle集成插件的安装和使用
  7. yii2 Expression解决查询或者条件有mysql函数时
  8. 基于matlab的小波去噪方法研究,基于matlab的小波去噪分析毕业论文.doc
  9. PS套索工具抠图及快捷键
  10. 学习笔记 Tianmao 篇 recyclerView 辅助的RecycleAdapterImpl类(适配自定义 模板)
  11. 贴片电阻阻值识别方法
  12. 招商银行信用卡中心2018秋招部分编程题汇总
  13. react获取当前路由
  14. php 怎么打开一个pdf,pdf是什么?用什么打开?
  15. 原生Js导出Excel文件
  16. ubuntu系统安装安卓模拟器(Android SDK)的方法
  17. iphone竖屏视频旋转_在Linux上从iPhone旋转视频
  18. Myricetin/Myricitrin 杨梅素/杨梅苷98%,杨梅提取物
  19. 张凯龙 西北工业大学计算机学院,西北工业大学计算机学院研究生不在校管理规定...
  20. react获取不到目录中文件的坑

热门文章

  1. centos 新建swap区文件
  2. 使用vsftp虚拟用户实现安全访问控制
  3. ThinkPHP多次重复提交问题的根源
  4. 重复数据删除:块级技术VS.字节级技术
  5. iOS开发之手势识别
  6. Codeigniter中创建LeanCloud云函数实现微信支付
  7. openresty 前端开发进阶一之http后端
  8. zend guard6的使用
  9. ubuntu安装phpmyadmin
  10. 在终端(Terminal)中用颜色显示不同类型文件