【52ABP实战教程】0.1-- Devops如何用VSTS持续集成到Github仓库!

简介: 工欲善其事,必先利其器。在开始正式的教程之前我们先来聊聊准备工作。管理工具会VSTS。代码管理会用GITHUB。服务器会用Azure。所有的东西都是利用现有服务。
工欲善其事,必先利其器。在开始正式的教程之前我们先来聊聊准备工作。
  • 管理工具会VSTS。
  • 代码管理会用GITHUB。
  • 服务器会用Azure。
    所有的东西都是利用现有服务。不会说自己从虚拟机开始玩。我们就专注于写代码。

什么是VSTS?

VSTS的全称是Visual Studio Team Services。
介绍VSTS之前先说下TFS(Team Foundation Server)。TFS是微软推出的一款ALM(Application Lifecycle Management)软件生命周期管理工具。通过它你可以从代码管理->代码版本管理->项目管理->持续集成->自动发布->自动测试等一系列软件生命周期在内的全家桶功能。
而VSTS(Visual Studio Team System)是基于SaaS(多租户)化TFS的云产品。
听了之后是不是感觉很强大。

关于Github

Git 是由 Linux 之父 Linus Tovalds 为了更好地管理linux内核开发而创立的分布式版本控制/软件配置管理软件。
GitHub是一个通过Git进行版本控制的软件源代码托管服务,由GitHub公司(曾称Logical Awesome)的开发者Chris Wanstrath、PJ Hyett和Tom Preston-Werner使用Ruby on Rails编写而成。

img_b715a1c98e47f20a927dd01e570747a3.png
先上一张图

图片来自知乎。

为什么会有这个需求。

目前Github作为一个全球最大的码(tong)农(xing)交友社区。也是最大的开源社区,但是它没有自动部署,在导航篇的时候我们说了。我们是一个,通过开源实际项目的方式给大家一个良好的体验。
涉及到的技术也会用微软全家桶的方式来进行开发的。

恭喜VSTS开通香港节点

没有香港节点也就是东亚区域之前呢,大家只能从 美国中部加拿大中部西欧印度南部澳大利亚东部巴西南部这几个节点选择账户所在区域。
这些节点都有一个特点,对我们国家不怎么友好。按照 Julia 的说法,我们国家强大的防火墙。恩恩。
在11月2日的微软科技大会上,微软研发部门的全球副总裁潘正磊女士宣布了微软研发云VSTS将于2017年底前落地中国香港。然后在10号的时候VSTS的老大布雷恩就宣布开通了VSTS在香港的节点。
这意味在大陆使用微软全家桶的速度, 蹭蹭噌的加速了。

好了,闲话少叙。开始干吧!

注册VSTS

首先你要有一个微软邮箱,没有自己去注册。
然后打开https://app.vsaex.visualstudio.com/me?mkt=zh-CN 新建账户。

img_a2fa578ecd5605ac01e6657d29765046.png
image.png

这里的所在地一定要选择东亚,因为其他地区的速度慢。

正文

我们现在开始做一些正经事。

  • 首先创建一个新项目


    img_66c28479906054d1fc7e7cf2ede516c2.png
    image.png
  • 创建完毕后,进入项目。


    img_b813ee3af6b4d50d2a518b12e97475fc.png
    image.png
  • 在Build And Release 菜单栏下的Builds中,选择新建一个“Empty process” 。
    你可以给这个任务创建一个名字,然后这里有几个队列,我们选择"Hoste vs2017"的队列


    img_df0761c1a64eb7012fe00fc85b0efc4d.png
    image.png
  • 然后选择“Get Sources” ,选择github。


    img_0ec556f94fd0d17e2ace95db6a38f980.png
    image.png

    这里需要你的github账户授权,这里你可以选择用网页授权还是用个人密钥授权。
    我们采用Authorize using OAuth,然后这里请注意,弹窗很容易被拦截。
    这里你要允许弹出。


    img_97f383eddc2dd41f6607b9386e4f3f65.png
    image.png

    授权成功后,可以看到你github中仓库的信息。
    img_28c7cc292d61ce7485d62acd83882659.png
    image.png
  • 然后选择菜单栏上的“Triggers”触发器按钮。打开触发器,


    img_0b378fb6e5bb96ec86668282a03aae17.png
    image.png
  • 选择Options配置下信息。
    Build number format 是指创建生成的生成码。你可以试试。


    img_5f1bff57e585da47ef8b08cf29ca85f9.png
    image.png

    最后,右上角“Save& queue”保存。


    img_1a5bfb238d4379639f640122c06a9393.png
    保存信息

至此整个功能配置已经完毕了。

使用VSTS给github的README 文件创建构建状态

构建完毕了,我们来看看怎么让逼格显得稍微高大上点。打开我们的github项目。

img_7542259bd953346bc85b256a0768dfb3.png
image.png

以上是效果图!!!
链接地址: https://github.com/ltm0203/aspnetcore

我们在VSTS中为项目创建一个自定义的通知消息,方法是利用VSTS的构建生成的URL,利用markdown的语法来完成。

  • 首先在打开你的github,导航到你所在的仓库,这里我们使用的是aspnetcore项目中。
  • 创建一个README.md的文件。
    然后将vsts中生成的徽章标记链接,粘贴到README.md文件中即可。
    代码段:
[<img src="https://ltm0203.visualstudio.com/_apis/public/build/definitions/06667c49-f49d-4e3b-8eda-1ee96b1914c7/1/badge">](https://51abp.visualstudio.com/_apis/public/build/definitions/d985e2b0-acd1-4556-bcb9-148d80437520/1/badge)

vsts中生成的徽章URL:


img_7739cc410189cd0a00705d9160576904.png
徽章URL.png
  • 在github项目中的"Setting"中,打开webhooks,可以看到你绑定的webhook。每次对GitHub仓库的提交都会触发VSTS中的构建。
  • 我们返回到vsts中,打开build。可以看到我们创建的队列。


    img_666cd3a72ee437187ae0c7ba5dbbfbe5.png
    image.png

    这里可以看到更加详细的统计信息,你编译的次数,状态,每次提交的信息等等。

实际开发呢?

在实际开发的项目中,我们更多的时候,是一个几个功能写好了才提交一次,而当前的情况每个文件发生变化就编译一次,这稍微有点不合理。我们通过对队列任务这里你可以随意取一个名字的进行修改,让项目编译更加的合理。修改为每提交一次才编译。

  • 打开VSTS,点击“Build & Release”,再点击“Builds”,找到任务名称“这里你可以随意取一个名字”,然后点击“Edit”按钮。
  • 点击‘Trigger’.修改起来也很简单。。


    img_61a0a9f72d71a25fdc3e7d61602b2887.png
    看这里.png

    修改为如图所示即可。

  • 然后点击Save & queue,再点击Save。

总结

以上就是利用Vsts自动编译构建项目的完成,然后在github项目中看到项目的构建状态!
核心是为了解决帮助大家在开发过程进行的日常编译问题。自动化构建。
VSTS的整体功能肯定不止这么一点,在后面的日子内,我会带着大家慢慢玩!

请扫描此二维码关注公众帐号,你将会得到及时的文章推送信息。

img_ab303fbac0fca16b00ef9ae0a73e9e80.png
image.png

目录
相关文章
|
3月前
|
分布式计算 大数据 Apache
ClickHouse与大数据生态集成:Spark & Flink 实战
【10月更文挑战第26天】在当今这个数据爆炸的时代,能够高效地处理和分析海量数据成为了企业和组织提升竞争力的关键。作为一款高性能的列式数据库系统,ClickHouse 在大数据分析领域展现出了卓越的能力。然而,为了充分利用ClickHouse的优势,将其与现有的大数据处理框架(如Apache Spark和Apache Flink)进行集成变得尤为重要。本文将从我个人的角度出发,探讨如何通过这些技术的结合,实现对大规模数据的实时处理和分析。
235 2
ClickHouse与大数据生态集成:Spark & Flink 实战
|
3月前
|
jenkins Devops Java
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第27天】在快速发展的软件开发领域,DevOps实践日益重要。Jenkins作为一款流行的开源自动化服务器,在持续集成(CI)和持续部署(CD)中扮演关键角色。本文通过案例分析,探讨Jenkins在Java项目中的应用,展示其自动化构建、测试和部署的能力,提高开发效率和软件质量。
114 2
|
27天前
|
存储 缓存 Java
Java中的分布式缓存与Memcached集成实战
通过在Java项目中集成Memcached,可以显著提升系统的性能和响应速度。合理的缓存策略、分布式架构设计和异常处理机制是实现高效缓存的关键。希望本文提供的实战示例和优化建议能够帮助开发者更好地应用Memcached,实现高性能的分布式缓存解决方案。
39 9
|
2月前
|
存储 JavaScript 开发工具
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
本次的.HarmonyOS Next ,ArkTS语言,HarmonyOS的元服务和DevEco Studio 开发工具,为开发者提供了构建现代化、轻量化、高性能应用的便捷方式。这些技术和工具将帮助开发者更好地适应未来的智能设备和服务提供方式。
76 8
基于HarmonyOS 5.0(NEXT)与SpringCloud架构的跨平台应用开发与服务集成研究【实战】
|
3月前
|
安全 Java API
【三方服务集成】最新版 | 阿里云短信服务SMS使用教程(包含支持单双参数模板的工具类,拿来即用!)
阿里云短信服务提供API/SDK和控制台调用方式,支持验证码、通知、推广等短信类型。需先注册阿里云账号并实名认证,然后在短信服务控制台申请资质、签名和模板,并创建AccessKey。最后通过Maven引入依赖,使用工具类发送短信验证码。
1488 3
【三方服务集成】最新版 | 阿里云短信服务SMS使用教程(包含支持单双参数模板的工具类,拿来即用!)
|
3月前
|
运维 Devops jenkins
DevOps实践:持续集成与持续部署在现代软件开发中的作用
【10月更文挑战第42天】在快节奏的软件开发世界里,DevOps已经成为一种提升效率、确保质量和加速交付的重要方法。本文将深入探讨DevOps的核心组成部分—持续集成(CI)和持续部署(CD)—并展示它们如何通过自动化流程优化开发周期。我们将从基础概念讲起,逐步过渡到实际操作,最终通过一个简单代码示例来演示这一过程。文章旨在为读者提供清晰的指导,帮助他们理解和实现CI/CD流程,从而在软件开发领域取得竞争优势。
|
3月前
|
Devops jenkins 测试技术
DevOps实践:自动化部署与持续集成的融合之旅
【10月更文挑战第41天】在软件开发的世界中,快速迭代和高效交付是企业竞争力的关键。本文将带你走进DevOps的核心实践——自动化部署与持续集成,揭示如何通过它们提升开发流程的效率与质量。我们将从DevOps的基本理念出发,逐步深入到具体的技术实现,最终展示一个实际的代码示例,让理论与实践相结合,为你的开发旅程提供清晰的指引。
87 4
|
3月前
|
存储 监控 Devops
DevOps实践:持续集成/持续部署(CI/CD)的实战指南
DevOps实践:持续集成/持续部署(CI/CD)的实战指南
|
3月前
|
jenkins Devops 测试技术
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第26天】随着DevOps理念的普及,Jenkins作为一款开源自动化服务器,在持续集成(CI)与持续部署(CD)中发挥重要作用。本文通过某中型互联网企业的实际案例,展示了Jenkins如何通过自动化构建、持续集成和持续部署,显著提升开发效率、代码质量和软件交付速度,帮助企业解决传统手工操作带来的低效和错误问题。
142 4
|
3月前
|
Prometheus 监控 Cloud Native
实战经验:成功的DevOps实施案例解析
实战经验:成功的DevOps实施案例解析
131 6

热门文章

最新文章