使用Azure DevOps持续集成GitHub项目

2019-07-08 19:35:40 浏览数 (1)

微软的Azure DevOps是一款软件开发管理工具,整合了需求、代码、编译、测试、发布等所有功能于一身。今天我们就来看看如何用Azure DevOps对自己GitHub上的项目做持续集成,并能在GitHub显示最新编译状态。

其实在不久之前,Azure DevOps 曾经叫做Visual Studio Team Service,本地版叫做 Team Foundation Server (TFS),为了体现拥抱开源,包容一切的全新微软形象,改名部有一次立功了,去掉了容易让人误解为微软Only的 "Visual Studio" Brand,并且更加侧重于云端。

新建Azure DevOps项目

让我们进入正题,首先,你需要在Azure DevOps上新建一个Project,这个Project仅仅用于编译代码,你可以完全无视代码托管、测试、发布等其他功能。建立完成之后,点这个蓝色的小火箭,旧可以经入Pipeline功能。

新建编译管线

Pipeline里选择Build,然后在New菜单里选择New build pipeline

连接GitHub项目

然后选择GitHub。注意:如果你之前没有在Azure DevOps里连接过GitHub,那么这一步里你需要进行授权认证,允许Azure DevOps访问你的GitHub资源。

连接完成后,选择你的Repository以及branch

比如我需要编译 Edi.ImageWatermark 这个项目

然后点击"Continue",进入编译配置页面

配置编译步骤

我的这个工程是一个.NET Standard 2.0的类库,因此我选择.NET Desktop模板。这里可以根据你的项目类型,选择预定义的模板,比如安卓、iOS、各种语言的网站项目等等。实在没有的话,也可以新建空模板自己配置每一个步骤。

然后记得改编译管线的标题,让自己易于记住和管理

根据自己的需要,修改每一个编译步骤,比如我喜欢用最新版的NuGet,我旧可以把版本号改成4.9.2

并且我不需要测试,因为我的工程里并没有单元测试项目,因此我可以删除Test的步骤。

启用持续集成

想要每一次GitHub收到commit都进行编译的话,在Trigger里选择Enable continuous integration

类似的,如果当有人给你提PR的时候想要进行编译,也可以勾选 Enable pull request validation

使用编译状态图标

Options选项卡里复制Markdown link

然后粘贴到你GitHub工程的Readme.md里去,并且提交commit

这样你就得到了一个最新编译状态的图标

保存并测试编译管线

回到Azure DevOps,点击"Save & queue"

可以看到一个Build已经启动了

点进去还可以看到详细的编译过程

如果一切顺利,编译成功后,你的GitHub项目主页就会出现绿色succeeded的字样。并且以后一旦这个工程有新的commit提交到GitHub,都会触发持续集成的编译,并更新这个状态图标。

0 人点赞