专栏首页汪宇杰博客使用 Azure DevTest Lab 搭建云端开发测试环境

使用 Azure DevTest Lab 搭建云端开发测试环境

导语

程序员和测试工程师经常需要自己搭环境用于开发和测试目的,这些机器可能只会使用很短一段时间。通常我们会在本机使用 Hyper-V、VMWare 之类的虚拟机产品,或者使用企业IT管理员分配的虚拟机去完成这项工作。然而安装配置以及管理这些VM都很麻烦,好在目前许多厂家都有造福IT管理员的解决方案,微软Azure也给我们提供了一个DevTest Lab,假装帮助我们分分钟配环境,拒绝996,远离ICU

Azure Lab Services

通过 Azure 实验室服务,可以快速在云中设置团队环境(例如,开发环境、测试环境、教室实验室环境)。 实验室所有者创建实验室、预配 Windows 或 Linux 虚拟机、安装必要的软件和工具,并将其提供给实验室用户使用。 实验室用户在实验室中连接到虚拟机 (VM),以便进行日常工作、短期项目或实验室练习。 用户开始利用实验室中的资源后,实验室管理员可分析多个实验室的成本和使用情况,并设置总体策略以优化组织或团队成本。

该服务目前包含两个独立的子服务:

  • 教室实验室 (Classroom Labs)
  • 开发测试实验室 (DevTest Labs)

我们今天要讲的是其中的 DevTest Labs,官网概述如下:

可使用 Azure 开发测试实验室来实现许多关键方案,但其中一个主要方案涉及使用开发测试实验室为开发人员托管开发计算机。 在此方案中,开发测试实验室具有以下优势:

  • 开发人员可快速按需预配其开发计算机。
  • 通过使用可重用模板和项目,预配 Windows 和 Linux 环境。
  • 开发人员可在任何需要的时候轻松自定义其开发计算机。
  • 管理员可以通过确保开发者无法获得超过开发所需的 VM,以及在未使用 VM 时将其关闭来控制成本。

创建 DevTest Lab

在 Azure Portal 里点击 Create a resource,搜索 DevTest,即可打开创建向导。

输入 Lab name,选择订阅、资源组、位置、是否自动关机、是否为公有环境(互联网访问)。

其中的 Resource group 要注意,它指的是该实验室本身的资源组,而不是实验室里的VM所使用的资源组。

创建完成后,点击 Add 添加第一台虚拟机。

搜索并选择你需要的操作系统镜像,这个列表里也包括了许多预配置的镜像,如SQL Server、AKS、各种Linux等等,甚至还可以找到 Windows 10 + Office 365。你也可以制作自己的镜像用于创建后续VM。

输入虚拟机名称,管理员账号、密码,选择虚拟机大小以及磁盘配置。如果你用过普通的 Azure VM服务,会发现这个向导就是个极简版的Azure VM,省去了网卡、NSG、IP等众多高级配置。

Artifact 的意思是预装的软件,比如我需要 7-zip 以及 Chrome,就可以在这个列表里找到,并勾选。当然,这个列表肯定不包含你自己或企业的专业软件,别担心,微软允许从三方库添加这些artifact(可以自行查阅方法,本文暂不讨论)

在VM的高级设置中,除了传统的虚拟网络、子网、IP等信息,还多了过期时间、Claim 这两个选项。过期时间很好理解,管理员可以设置一个VM的使用期限,而 Claim 的含义是“认领”,即使用之前用户需要认领这台机器,才能开机使用。用完之后要取消认领,还给企业。

等待虚拟机创建完成后,可以在 Labs Overview 里看见这台机器。

和使用普通 Azure VM 非常类似,点击 Connect 即可使用 RDP 或 SSH 连接到虚拟机,然后你想怎么玩就怎么玩。

如果你不喜欢默认分配的 DNS 名称也没关系,这个其实是可以改的!这台 VM 从普通的 Azure Virtual Machine 界面也能进去,进去以后就可以点击 DNS name 分配一个新域名。

配置定时自动开关机

Azure 的意思顾名思义是 A zone user rich enough,富人的玩具,我们苦逼程序员还是得省钱进ICU里花。因此我们可以设置定时开关机,让虚拟机只有 996 的工作时间才可用,回家睡觉时关机,这样 VM 就不会计费了。

进入 Configuration and policies

Auto-start 里设置自动开机时间,选择中国时间早上9点,记得勾选星期六,以收取福报。

同样,Auto-shutdown 里配置为晚上9点。当然,也可以配置成半夜12点,这样可以养生。

现在,回到 VM 的设置里,就可以完成996定时设置了!云福报!

分配用户

如果你的需求非常简单,用户不多,完全可以只靠RDP+管理员账号密码来分配使用权限。但是在正规的组织机构中,通常同步了 Azure AD,我们可以通过 Azure AD 来分配不同用户和角色使用或管理 Labs 里的机器。

由于我的Azure AD是个人使用,不方便模拟公司环境,此处摘录微软官网文档:

将用户添加到实验室用户角色

在左侧菜单中,选择“配置和策略”。

从菜单中选择“访问控制(IAM)”,并在工具栏中选择“+ 添加角色分配”。

在“添加权限”页上,执行以下操作:

  • 在“角色”中,选择“开发测试实验室用户”。
  • 选择要添加的“用户”。
  • 选择“保存”。

参考资料

https://docs.microsoft.com/en-us/azure/lab-services/lab-services-overview

本文分享自微信公众号 - 汪宇杰博客(ediwangblog),作者:汪宇杰

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用 Azure 部署 Ontology 区块链开发测试服务器

    学习区块链开发首先需要一个开发测试环境,然而像我这样的只会拖控件和点鼠标的 .NET 程序员想要配一个完全陌生的 ont 区块链测试环境肯定会996进ICU。好...

    Edi Wang
  • Azure 命令行工具大混战,都是什么,该选哪个?

    最近在学习 Azure 的命令行玩法,发现官方有不止一种命令行工具,容易对新手产生混淆,本文将介绍各种工具都是干啥的,以及如何选择。

    Edi Wang
  • 使用Azure云原生构建博客是怎样一种体验?(上篇)

    我的网站是在.NET Core 平台上使用 C#语言编写的开源博客系统,运行于微软智慧云 Azure 国际版上。

    Edi Wang
  • 机器学习算法复习手册——决策树

    本手册整理自机器学习各相关书籍、网络资料、个人的理解与实践。总体编写宗旨: ①一看就懂; ②用20%的文字,涵盖80%的内容。 至于剩下的20%,一般属于比较偏...

    beyondGuo
  • SAP CRM呼叫中心里Case ID的生成逻辑

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.bl...

    Jerry Wang
  • Hackthebox_OpenAdmin

    大家好,今天给大家带来的CTF挑战靶机是来自hackthebox的“OpenAdmin”,hackthebox是一个非常不错的在线实验平台,能帮助你提升渗透测试...

    Aran
  • Hackthebox_OpenAdmin

    大家好,今天给大家带来的CTF挑战靶机是来自hackthebox的“OpenAdmin”,hackthebox是一个非常不错的在线实验平台,能帮助你提升渗透测试...

    用户7118204
  • 关系型数据库 MySQL 你不知道的 28 个小技巧

    培养兴趣 兴趣是最好的老师,不论学习什么知识,兴趣都可以极大地提高学习效率。当然学习 MySQL5.6 也不例外。

    JiekeXu之路
  • 告诉你 38 个 MySQL 数据库的小技巧!

    培养兴趣 兴趣是最好的老师,不论学习什么知识,兴趣都可以极大地提高学习效率。当然学习 MySQL 5.6 也不例外。

    CSDN技术头条
  • 利用Metasploit破解Tomcat登录密码并通过war包部署Getshell

    Apache Tomcat 是世界上使用最广泛的Java Web应用服务器之一,绝大数人都会使用Tomcat的默认配置。然而默认配置中会有一个向外网开放的Web...

    7089bAt@PowerLi

扫码关注云+社区

领取腾讯云代金券